diff --git a/pfcwd/main.py b/pfcwd/main.py index 916cac2522..2b8435c1d1 100644 --- a/pfcwd/main.py +++ b/pfcwd/main.py @@ -1,10 +1,30 @@ #! /usr/bin/python -u -import click -import swsssdk import os -from tabulate import tabulate +import sys + +import click + from natsort import natsorted +from sonic_py_common.multi_asic import get_external_ports +from tabulate import tabulate +from utilities_common import multi_asic as multi_asic_util +from utilities_common import constants + +# 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 + mock_tables.dbconnector.load_namespace_config() + +except KeyError: + pass # Default configuration DEFAULT_DETECTION_TIME = 200 @@ -32,272 +52,436 @@ CONFIG_DB_PFC_WD_TABLE_NAME = 'PFC_WD' + # Main entrypoint @click.group() def cli(): """ SONiC PFC Watchdog """ -def get_all_queues(db): + +def get_all_queues(db, namespace=None, display=constants.DISPLAY_ALL): queue_names = db.get_all(db.COUNTERS_DB, 'COUNTERS_QUEUE_NAME_MAP') - return natsorted(queue_names.keys() if queue_names else {}) + queues = queue_names.keys() if queue_names else {} + if display == constants.DISPLAY_ALL: + return natsorted(queues) + # filter the backend ports + display_ports = [q.split(":")[0] for q in queues] + display_ports = get_external_ports(display_ports, namespace) + queues = [q for q in queues if q.split(":")[0] in display_ports] + return natsorted(queues) + -def get_all_ports(db): +def get_all_ports(db, namespace=None, display=constants.DISPLAY_ALL): all_port_names = db.get_all(db.COUNTERS_DB, 'COUNTERS_PORT_NAME_MAP') # Get list of physical ports port_names = {} for i in all_port_names: if i.startswith('Ethernet'): - port_names[i]= all_port_names[i] - return natsorted(port_names.keys()) + port_names[i] = all_port_names[i] + display_ports = port_names.keys() + if display == constants.DISPLAY_EXTERNAL: + display_ports = get_external_ports(display_ports, namespace) + return natsorted(display_ports) + def get_server_facing_ports(db): candidates = db.get_table('DEVICE_NEIGHBOR') server_facing_ports = [] for port in candidates.keys(): - neighbor = db.get_entry('DEVICE_NEIGHBOR_METADATA', candidates[port]['name']) + neighbor = db.get_entry( + 'DEVICE_NEIGHBOR_METADATA', candidates[port]['name'] + ) if neighbor and neighbor['type'].lower() == 'server': server_facing_ports.append(port) if not server_facing_ports: server_facing_ports = [p[1] for p in db.get_table('VLAN_MEMBER').keys()] return server_facing_ports -# Show commands -@cli.group() -def show(): - """ Show PFC Watchdog information""" -# Show stats -@show.command() -@click.option('-e', '--empty', is_flag = True) -@click.argument('queues', nargs = -1) -def stats(empty, queues): - """ Show PFC Watchdog stats per queue """ - db = swsssdk.SonicV2Connector(host='127.0.0.1') - db.connect(db.COUNTERS_DB) - table = [] - - if len(queues) == 0: - queues = get_all_queues(db) - - for queue in queues: - stats_list = [] - queue_oid = db.get(db.COUNTERS_DB, 'COUNTERS_QUEUE_NAME_MAP', queue) - if queue_oid is None: - continue - stats = db.get_all(db.COUNTERS_DB, 'COUNTERS:' + queue_oid) - if stats is None: - continue - for stat in STATS_DESCRIPTION: - line = stats.get(stat[1], '0') + '/' + stats.get(stat[2], '0') - stats_list.append(line) - if stats_list != ['0/0'] * len(STATS_DESCRIPTION) or empty: - table.append([queue, stats.get('PFC_WD_STATUS', 'N/A')] + stats_list) - - click.echo(tabulate(table, STATS_HEADER, stralign='right', numalign='right', tablefmt='simple')) +class PfcwdCli(object): + def __init__(self, namespace=None, display=constants.DISPLAY_ALL): + self.db = None + self.config_db = None + self.multi_asic = multi_asic_util.MultiAsic(display, namespace) + self.table = [] + + @multi_asic_util.run_on_multi_asic + def collect_stats(self, empty, queues): + table = [] + + if len(queues) == 0: + queues = get_all_queues( + self.db, + self.multi_asic.current_namespace, + self.multi_asic.display_option + ) + + for queue in queues: + stats_list = [] + queue_oid = self.db.get( + self.db.COUNTERS_DB, 'COUNTERS_QUEUE_NAME_MAP', queue + ) + if queue_oid is None: + continue + stats = self.db.get_all( + self.db.COUNTERS_DB, 'COUNTERS:' + queue_oid + ) + if stats is None: + continue + for stat in STATS_DESCRIPTION: + line = stats.get(stat[1], '0') + '/' + stats.get(stat[2], '0') + stats_list.append(line) + if stats_list != ['0/0'] * len(STATS_DESCRIPTION) or empty: + table.append( + [queue, stats.get('PFC_WD_STATUS', 'N/A')] + stats_list + ) + + self.table += table + + def show_stats(self, empty, queues): + del self.table[:] + self.collect_stats(empty, queues) + click.echo(tabulate( + self.table, STATS_HEADER, stralign='right', numalign='right', + tablefmt='simple' + )) + + @multi_asic_util.run_on_multi_asic + def collect_config(self, ports): + table = [] + if len(ports) == 0: + ports = get_all_ports( + self.db, self.multi_asic.current_namespace, + self.multi_asic.display_option + ) + + ports_found = False + for port in ports: + config_list = [] + config_entry = self.config_db.get_entry( + CONFIG_DB_PFC_WD_TABLE_NAME, port + ) + if config_entry is None or config_entry == {}: + continue + ports_found = True + for config in CONFIG_DESCRIPTION: + line = config_entry.get(config[1], config[2]) + config_list.append(line) + table.append([port] + config_list) + + if not ports_found: + return + + poll_interval = self.config_db.get_entry( + CONFIG_DB_PFC_WD_TABLE_NAME, 'GLOBAL' + ).get('POLL_INTERVAL') + + current_ns = self.multi_asic.current_namespace + asic_namesapce = \ + "" if current_ns is None or current_ns == "" else " on {}".format( + current_ns + ) + if poll_interval is not None: + click.echo( + "Changed polling interval to {}ms{}".format( + poll_interval, asic_namesapce + ) + ) + + big_red_switch = self.config_db.get_entry( + CONFIG_DB_PFC_WD_TABLE_NAME, 'GLOBAL' + ).get('BIG_RED_SWITCH') + + if big_red_switch is not None: + click.echo("BIG_RED_SWITCH status is {}{}".format( + big_red_switch, asic_namesapce + )) + + self.table += table + + def config(self, ports): + del self.table[:] + self.collect_config(ports) + click.echo(tabulate( + self.table, CONFIG_HEADER, stralign='right', numalign='right', + tablefmt='simple' + )) + + @multi_asic_util.run_on_multi_asic + def start(self, action, restoration_time, ports, detection_time): + if os.geteuid() != 0: + exit("Root privileges are required for this operation") + allowed_strs = ['ports', 'all', 'detection-time'] + + all_ports = get_all_ports( + self.db, self.multi_asic.current_namespace, + self.multi_asic.display_option + ) + allowed_strs = allowed_strs + all_ports + for p in ports: + if p not in allowed_strs: + raise click.BadOptionUsage( + "Bad command line format. Try 'pfcwd start --help' for " + "usage" + ) + + if len(ports) == 0: + ports = all_ports + + pfcwd_info = { + 'detection_time': detection_time, + } + if action is not None: + pfcwd_info['action'] = action + if restoration_time is not None: + pfcwd_info['restoration_time'] = restoration_time + else: + pfcwd_info['restoration_time'] = 2 * detection_time + click.echo( + "restoration time not defined; default to 2 times " + "detection time: {} ms".format(2 * 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 + ) + 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 + ) + + @multi_asic_util.run_on_multi_asic + def interval(self, poll_interval): + if os.geteuid() != 0: + exit("Root privileges are required for this operation") + pfcwd_info = {} + if poll_interval is not None: + pfcwd_table = self.config_db.get_table(CONFIG_DB_PFC_WD_TABLE_NAME) + entry_min = 3000 + for entry in pfcwd_table: + if("Ethernet" not in entry): + continue + detection_time_entry_value = int(self.config_db.get_entry( + CONFIG_DB_PFC_WD_TABLE_NAME, entry + ).get('detection_time')) + restoration_time_entry_value = int(self.config_db.get_entry( + CONFIG_DB_PFC_WD_TABLE_NAME, entry + ).get('restoration_time')) + if ((detection_time_entry_value is not None) and + (detection_time_entry_value < entry_min) + ): + entry_min = detection_time_entry_value + entry_min_str = "detection time" + if ((restoration_time_entry_value is not None) and + (restoration_time_entry_value < entry_min) + ): + entry_min = restoration_time_entry_value + entry_min_str = "restoration time" + if entry_min < poll_interval: + click.echo( + "unable to use polling interval = {}ms, value is " + "bigger than one of the configured {} values, " + "please choose a smaller polling_interval".format( + poll_interval, entry_min_str + ), err=True + ) + exit(1) + + pfcwd_info['POLL_INTERVAL'] = poll_interval + self.config_db.mod_entry( + CONFIG_DB_PFC_WD_TABLE_NAME, "GLOBAL", pfcwd_info + ) + + @multi_asic_util.run_on_multi_asic + def stop(self, ports): + if os.geteuid() != 0: + exit("Root privileges are required for this operation") + + all_ports = get_all_ports( + self.db, self.multi_asic.current_namespace, + self.multi_asic.display_option + ) + + if len(ports) == 0: + ports = all_ports + + for port in ports: + if port not in all_ports: + continue + self.config_db.mod_entry(CONFIG_DB_PFC_WD_TABLE_NAME, port, None) + + @multi_asic_util.run_on_multi_asic + def start_default(self): + if os.geteuid() != 0: + exit("Root privileges are required for this operation") + enable = self.config_db.get_entry('DEVICE_METADATA', 'localhost').get( + 'default_pfcwd_status' + ) + + # Get active ports from Config DB + active_ports = natsorted( + self.config_db.get_table('DEVICE_NEIGHBOR').keys() + ) + + if not enable or enable.lower() != "enable": + return + + port_num = len(self.config_db.get_table('PORT').keys()) + + # Paramter values positively correlate to the number of ports. + multiply = max(1, (port_num-1)/DEFAULT_PORT_NUM+1) + pfcwd_info = { + 'detection_time': DEFAULT_DETECTION_TIME * multiply, + 'restoration_time': DEFAULT_RESTORATION_TIME * multiply, + 'action': DEFAULT_ACTION + } + + for port in active_ports: + self.config_db.set_entry( + CONFIG_DB_PFC_WD_TABLE_NAME, port, pfcwd_info + ) + + pfcwd_info = {} + pfcwd_info['POLL_INTERVAL'] = DEFAULT_POLL_INTERVAL * multiply + self.config_db.mod_entry( + CONFIG_DB_PFC_WD_TABLE_NAME, "GLOBAL", pfcwd_info + ) + + @multi_asic_util.run_on_multi_asic + def counter_poll(self, counter_poll): + if os.geteuid() != 0: + exit("Root privileges are required for this operation") + pfcwd_info = {} + pfcwd_info['FLEX_COUNTER_STATUS'] = counter_poll + self.config_db.mod_entry("FLEX_COUNTER_TABLE", "PFCWD", pfcwd_info) + + @multi_asic_util.run_on_multi_asic + def big_red_switch(self, big_red_switch): + if os.geteuid() != 0: + exit("Root privileges are required for this operation") + pfcwd_info = {} + if big_red_switch is not None: + pfcwd_info['BIG_RED_SWITCH'] = big_red_switch + self.config_db.mod_entry( + CONFIG_DB_PFC_WD_TABLE_NAME, "GLOBAL", + pfcwd_info + ) + # Show stats -@show.command() -@click.argument('ports', nargs = -1) -def config(ports): - """ Show PFC Watchdog configuration """ - configdb = swsssdk.ConfigDBConnector() - configdb.connect() - countersdb = swsssdk.SonicV2Connector(host='127.0.0.1') - countersdb.connect(countersdb.COUNTERS_DB) - table = [] - - all_ports = get_all_ports(countersdb) - - if len(ports) == 0: - ports = all_ports - - for port in ports: - config_list = [] - config_entry = configdb.get_entry(CONFIG_DB_PFC_WD_TABLE_NAME, port) - if config_entry is None or config_entry == {}: - continue - for config in CONFIG_DESCRIPTION: - line = config_entry.get(config[1], config[2]) - config_list.append(line) - table.append([port] + config_list) - poll_interval = configdb.get_entry( CONFIG_DB_PFC_WD_TABLE_NAME, 'GLOBAL').get('POLL_INTERVAL') - if poll_interval is not None: - click.echo("Changed polling interval to " + poll_interval + "ms") - - big_red_switch = configdb.get_entry( CONFIG_DB_PFC_WD_TABLE_NAME, 'GLOBAL').get('BIG_RED_SWITCH') - if big_red_switch is not None: - click.echo("BIG_RED_SWITCH status is " + big_red_switch) - - click.echo(tabulate(table, CONFIG_HEADER, stralign='right', numalign='right', tablefmt='simple')) +class Show(object): + # Show commands + @cli.group() + def show(): + """ Show PFC Watchdog information""" + + @show.command() + @multi_asic_util.multi_asic_click_options + @click.option('-e', '--empty', is_flag=True) + @click.argument('queues', nargs=-1) + def stats(namespace, display, empty, queues): + """ Show PFC Watchdog stats per queue """ + if (len(queues)): + display = constants.DISPLAY_ALL + PfcwdCli(namespace, display).show_stats(empty, queues) + + # Show config + @show.command() + @multi_asic_util.multi_asic_click_options + @click.argument('ports', nargs=-1) + def config(namespace, display, ports): + """ Show PFC Watchdog configuration """ + PfcwdCli(namespace, display).config(ports) + # Start WD -@cli.command() -@click.option('--action', '-a', type=click.Choice(['drop', 'forward', 'alert'])) -@click.option('--restoration-time', '-r', type=click.IntRange(100, 60000)) -@click.argument('ports', nargs=-1) -@click.argument('detection-time', type=click.IntRange(100, 5000)) -def start(action, restoration_time, ports, detection_time): - """ - Start PFC watchdog on port(s). To config all ports, use all as input. - - Example: - - sudo pfcwd start --action drop ports all detection-time 400 --restoration-time 400 - - """ - if os.geteuid() != 0: - exit("Root privileges are required for this operation") - allowed_strs = ['ports', 'all', 'detection-time'] - configdb = swsssdk.ConfigDBConnector() - configdb.connect() - countersdb = swsssdk.SonicV2Connector(host='127.0.0.1') - countersdb.connect(countersdb.COUNTERS_DB) - - all_ports = get_all_ports(countersdb) - allowed_strs = allowed_strs + all_ports - for p in ports: - if p not in allowed_strs: - raise click.BadOptionUsage("Bad command line format. Try 'pfcwd start --help' for usage") - - if len(ports) == 0: - ports = all_ports - - pfcwd_info = { - 'detection_time': detection_time, - } - if action is not None: - pfcwd_info['action'] = action - if restoration_time is not None: - pfcwd_info['restoration_time'] = restoration_time - else: - pfcwd_info['restoration_time'] = 2 * detection_time - click.echo("restoration time not defined; default to 2 times detection time: %d ms" % (2 * detection_time)) - - for port in ports: - if port == "all": - for p in all_ports: - configdb.mod_entry(CONFIG_DB_PFC_WD_TABLE_NAME, p, None) - configdb.mod_entry(CONFIG_DB_PFC_WD_TABLE_NAME, p, pfcwd_info) - else: - if port not in all_ports: - continue - configdb.mod_entry(CONFIG_DB_PFC_WD_TABLE_NAME, port, None) - configdb.mod_entry(CONFIG_DB_PFC_WD_TABLE_NAME, port, pfcwd_info) +class Start(object): + @cli.command() + @click.option( + '--action', '-a', type=click.Choice(['drop', 'forward', 'alert']) + ) + @click.option('--restoration-time', '-r', type=click.IntRange(100, 60000)) + @click.argument('ports', nargs=-1) + @click.argument('detection-time', type=click.IntRange(100, 5000)) + def start(action, restoration_time, ports, detection_time): + """ + Start PFC watchdog on port(s). To config all ports, use all as input. + + Example: + + sudo pfcwd start --action drop ports all detection-time 400 --restoration-time 400 + + """ + PfcwdCli().start(action, restoration_time, ports, detection_time) + # Set WD poll interval -@cli.command() -@click.argument('poll_interval', type=click.IntRange(100, 3000)) -def interval(poll_interval): - """ Set PFC watchdog counter polling interval """ - if os.geteuid() != 0: - exit("Root privileges are required for this operation") - configdb = swsssdk.ConfigDBConnector() - configdb.connect() - pfcwd_info = {} - if poll_interval is not None: - pfcwd_table = configdb.get_table(CONFIG_DB_PFC_WD_TABLE_NAME) - entry_min = 3000 - for entry in pfcwd_table: - if("Ethernet" not in entry): - continue - detection_time_entry_value = int(configdb.get_entry(CONFIG_DB_PFC_WD_TABLE_NAME, entry).get('detection_time')) - restoration_time_entry_value = int(configdb.get_entry(CONFIG_DB_PFC_WD_TABLE_NAME, entry).get('restoration_time')) - if ((detection_time_entry_value != None) and (detection_time_entry_value < entry_min)): - entry_min = detection_time_entry_value - entry_min_str = "detection time" - if ((restoration_time_entry_value != None) and (restoration_time_entry_value < entry_min)): - entry_min = restoration_time_entry_value - entry_min_str = "restoration time" - if entry_min < poll_interval: - click.echo("unable to use polling interval = {}ms, value is bigger than one of the configured {} values, please choose a smaller polling_interval".format(poll_interval,entry_min_str), err=True) - exit(1) - - pfcwd_info['POLL_INTERVAL'] = poll_interval - configdb.mod_entry(CONFIG_DB_PFC_WD_TABLE_NAME, "GLOBAL", pfcwd_info) +class Interval(object): + @cli.command() + @click.argument('poll_interval', type=click.IntRange(100, 3000)) + def interval(poll_interval): + """ Set PFC watchdog counter polling interval """ + PfcwdCli().interval(poll_interval) + # Stop WD -@cli.command() -@click.argument('ports', nargs = -1) -def stop(ports): - """ Stop PFC watchdog on port(s) """ - if os.geteuid() != 0: - exit("Root privileges are required for this operation") - configdb = swsssdk.ConfigDBConnector() - configdb.connect() - countersdb = swsssdk.SonicV2Connector(host='127.0.0.1') - countersdb.connect(countersdb.COUNTERS_DB) - - all_ports = get_all_ports(countersdb) - - if len(ports) == 0: - ports = all_ports - - for port in ports: - if port not in all_ports: - continue - configdb.mod_entry(CONFIG_DB_PFC_WD_TABLE_NAME, port, None) +class Stop(object): + @cli.command() + @click.argument('ports', nargs=-1) + def stop(ports): + """ Stop PFC watchdog on port(s) """ + PfcwdCli().stop(ports) + # Set WD default configuration on server facing ports when enable flag is on -@cli.command("start_default") -def start_default(): - """ Start PFC WD by default configurations """ - if os.geteuid() != 0: - exit("Root privileges are required for this operation") - configdb = swsssdk.ConfigDBConnector() - configdb.connect() - enable = configdb.get_entry('DEVICE_METADATA', 'localhost').get('default_pfcwd_status') - - # Get active ports from Config DB - active_ports = natsorted(configdb.get_table('DEVICE_NEIGHBOR').keys()) - - if not enable or enable.lower() != "enable": - return - - port_num = len(configdb.get_table('PORT').keys()) - - # Paramter values positively correlate to the number of ports. - multiply = max(1, (port_num-1)/DEFAULT_PORT_NUM+1) - pfcwd_info = { - 'detection_time': DEFAULT_DETECTION_TIME * multiply, - 'restoration_time': DEFAULT_RESTORATION_TIME * multiply, - 'action': DEFAULT_ACTION - } - - for port in active_ports: - configdb.set_entry(CONFIG_DB_PFC_WD_TABLE_NAME, port, pfcwd_info) - - pfcwd_info = {} - pfcwd_info['POLL_INTERVAL'] = DEFAULT_POLL_INTERVAL * multiply - configdb.mod_entry(CONFIG_DB_PFC_WD_TABLE_NAME, "GLOBAL", pfcwd_info) +class StartDefault(object): + @cli.command("start_default") + def start_default(): + """ Start PFC WD by default configurations """ + PfcwdCli().start_default() + # Enable/disable PFC WD counter polling -@cli.command('counter_poll') -@click.argument('counter_poll', type=click.Choice(['enable', 'disable'])) -def counter_poll(counter_poll): - """ Enable/disable counter polling """ - if os.geteuid() != 0: - exit("Root privileges are required for this operation") - configdb = swsssdk.ConfigDBConnector() - configdb.connect() - pfcwd_info = {} - pfcwd_info['FLEX_COUNTER_STATUS'] = counter_poll - configdb.mod_entry("FLEX_COUNTER_TABLE", "PFCWD", pfcwd_info) +class CounterPoll(object): + @cli.command('counter_poll') + @click.argument('counter_poll', type=click.Choice(['enable', 'disable'])) + def counter_poll(counter_poll): + """ Enable/disable counter polling """ + PfcwdCli().counter_poll(counter_poll) + # Enable/disable PFC WD BIG_RED_SWITCH mode -@cli.command('big_red_switch') -@click.argument('big_red_switch', type=click.Choice(['enable', 'disable'])) -def big_red_switch(big_red_switch): - """ Enable/disable BIG_RED_SWITCH mode """ - if os.geteuid() != 0: - exit("Root privileges are required for this operation") - configdb = swsssdk.ConfigDBConnector() - configdb.connect() - pfcwd_info = {} - if big_red_switch is not None: - pfcwd_info['BIG_RED_SWITCH'] = big_red_switch - - configdb.mod_entry(CONFIG_DB_PFC_WD_TABLE_NAME, "GLOBAL", pfcwd_info) +class BigRedSwitch(object): + @cli.command('big_red_switch') + @click.argument('big_red_switch', type=click.Choice(['enable', 'disable'])) + def big_red_switch(big_red_switch): + """ Enable/disable BIG_RED_SWITCH mode """ + PfcwdCli().big_red_switch(big_red_switch) + + +def get_pfcwd_clis(): + cli.add_command(BigRedSwitch().big_red_switch) + cli.add_command(CounterPoll().counter_poll) + cli.add_command(StartDefault().start_default) + cli.add_command(Stop().stop) + cli.add_command(Interval().interval) + cli.add_command(Start().start) + cli.add_command(Show().show) + return cli + if __name__ == '__main__': + cli = get_pfcwd_clis() cli() diff --git a/show/main.py b/show/main.py index 85bb9f1a78..eace3e31e2 100755 --- a/show/main.py +++ b/show/main.py @@ -19,7 +19,7 @@ import utilities_common.cli as clicommon from utilities_common.db import Db -from utilities_common.multi_asic import multi_asic_click_options +from utilities_common import multi_asic as multi_asic_util import feature import interfaces @@ -372,7 +372,7 @@ def pfc(): # 'counters' subcommand ("show interfaces pfccounters") @pfc.command() -@multi_asic_click_options +@multi_asic_util.multi_asic_click_options @click.option('--verbose', is_flag=True, help="Enable verbose output") def counters(namespace, display, verbose): """Show pfc counters""" @@ -416,20 +416,26 @@ def pfcwd(): pass @pfcwd.command() +@multi_asic_util.multi_asic_click_options @click.option('--verbose', is_flag=True, help="Enable verbose output") -def config(verbose): +def config(namespace, display, verbose): """Show pfc watchdog config""" - cmd = "pfcwd show config" + cmd = "pfcwd show config -d {}".format(display) + if namespace is not None: + cmd += " -n {}".format(namespace) run_command(cmd, display_cmd=verbose) @pfcwd.command() +@multi_asic_util.multi_asic_click_options @click.option('--verbose', is_flag=True, help="Enable verbose output") -def stats(verbose): +def stats(namespace, display, verbose): """Show pfc watchdog stats""" - cmd = "pfcwd show stats" + cmd = "pfcwd show stats -d {}".format(display) + if namespace is not None: + cmd += " -n {}".format(namespace) run_command(cmd, display_cmd=verbose) diff --git a/tests/mock_tables/asic0/config_db.json b/tests/mock_tables/asic0/config_db.json index 79adcf758e..fb6169bfc7 100644 --- a/tests/mock_tables/asic0/config_db.json +++ b/tests/mock_tables/asic0/config_db.json @@ -83,5 +83,29 @@ }, "PORTCHANNEL_MEMBER|PortChannel4001|Ethernet-BP4": { "NULL": "NULL" + }, + "PFC_WD|Ethernet0": { + "action": "drop", + "detection_time": "200", + "restoration_time": "200" + }, + "PFC_WD|Ethernet4": { + "action": "drop", + "detection_time": "200", + "restoration_time": "200" + }, + "PFC_WD|Ethernet-BP0": { + "action": "drop", + "detection_time": "200", + "restoration_time": "200" + }, + "PFC_WD|Ethernet-BP4": { + "action": "drop", + "detection_time": "200", + "restoration_time": "200" + }, + "PFC_WD|GLOBAL": { + "BIG_RED_SWITCH": "enable", + "POLL_INTERVAL": "199" } -} \ No newline at end of file +} diff --git a/tests/mock_tables/asic0/counters_db.json b/tests/mock_tables/asic0/counters_db.json index 38d5e445d7..52f651a193 100644 --- a/tests/mock_tables/asic0/counters_db.json +++ b/tests/mock_tables/asic0/counters_db.json @@ -59,6 +59,1350 @@ "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "0", "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "0" }, + "COUNTERS:oid:0x1000000001000": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "440", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "55", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "28640", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "3580", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "44", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "352", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "31168", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "3896", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "5871", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "11", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "4740", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "47", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "499", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "2", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "7886", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "13" + + }, + "COUNTERS:oid:0x1000000001001": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "736", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "92", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "42512", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "5314", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "73", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "584", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "34352", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "4294", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "724", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "13", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "8548", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "2", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "226", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "5", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "8318", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "92" + + }, + "COUNTERS:oid:0x1000000001002": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "512", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "64", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "7080", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "885", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "20", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "160", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "39080", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "4885", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "3307", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "99", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "8919", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "20", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "999", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "0", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "9885", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "99" + + }, + "COUNTERS:oid:0x1000000001003": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "520", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "65", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "79336", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "9917", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "31", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "248", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "13000", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "1625", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "8814", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "0", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "1757", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "49", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "470", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "5", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "9734", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "35" + + }, + "COUNTERS:oid:0x1000000001004": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "224", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "28", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "47992", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "5999", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "36", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "288", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "30544", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "3818", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "8245", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "25", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "1954", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "26", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "880", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "1", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "8957", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "10" + + }, + "COUNTERS:oid:0x1000000001005": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "736", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "92", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "23344", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "2918", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "62", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "496", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "56040", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "7005", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "6730", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "99", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "5743", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "97", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "633", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "8", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "9538", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "54" + + }, + "COUNTERS:oid:0x1000000001006": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "584", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "73", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "25904", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "3238", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "63", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "504", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "38304", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "4788", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "74", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "72", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "3683", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "59", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "934", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "6", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "1060", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "53" + + }, + "COUNTERS:oid:0x1000000001007": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "512", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "64", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "76000", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "9500", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "67", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "536", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "2936", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "367", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "8805", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "95", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "4224", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "85", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "216", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "7", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "4283", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "0" + + }, + "COUNTERS:oid:0x1000000001008": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "456", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "57", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "43896", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "5487", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "4", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "32", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "8816", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "1102", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "1530", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "16", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "9282", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "62", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "235", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "6", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "3256", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "22" + + }, + "COUNTERS:oid:0x1000000001009": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "504", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "63", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "42344", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "5293", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "83", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "664", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "3832", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "479", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "3041", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "68", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "4391", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "86", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "172", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "9", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "8458", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "35" + + }, + "COUNTERS:oid:0x1000000001010": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "336", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "42", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "57424", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "7178", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "40", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "320", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "38416", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "4802", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "5356", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "70", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "2716", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "68", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "360", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "1", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "1394", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "13" + + }, + "COUNTERS:oid:0x1000000001011": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "760", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "95", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "35896", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "4487", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "47", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "376", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "69520", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "8690", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "5114", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "68", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "8389", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "23", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "777", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "4", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "8694", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "34" + + }, + "COUNTERS:oid:0x1000000001012": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "176", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "22", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "24064", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "3008", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "92", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "736", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "71704", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "8963", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "8759", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "98", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "8378", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "75", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "444", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "4", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "6390", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "11" + + }, + "COUNTERS:oid:0x1000000001013": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "168", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "21", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "19152", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "2394", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "80", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "640", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "22056", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "2757", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "9133", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "6", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "8308", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "65", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "496", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "5", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "3181", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "96" + + }, + "COUNTERS:oid:0x1000000001014": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "200", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "25", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "14536", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "1817", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "47", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "376", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "79696", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "9962", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "1819", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "34", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "7127", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "42", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "126", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "1", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "487", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "69" + + }, + "COUNTERS:oid:0x1000000001015": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "760", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "95", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "67288", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "8411", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "36", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "288", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "10848", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "1356", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "8152", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "34", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "3690", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "68", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "347", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "6", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "2844", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "88" + + }, + "COUNTERS:oid:0x1000000002000": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "664", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "83", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "78520", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "9815", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "62", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "496", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "51248", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "6406", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "1960", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "67", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "3987", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "77", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "997", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "3", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "4406", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "93" + + }, + "COUNTERS:oid:0x1000000002001": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "280", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "35", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "77616", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "9702", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "62", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "496", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "59440", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "7430", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "1880", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "83", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "8205", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "56", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "560", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "7", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "4320", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "95" + + }, + "COUNTERS:oid:0x1000000002002": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "240", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "30", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "17248", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "2156", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "20", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "160", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "14536", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "1817", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "7068", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "13", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "8087", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "35", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "196", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "2", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "150", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "56" + + }, + "COUNTERS:oid:0x1000000002003": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "648", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "81", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "60416", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "7552", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "98", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "784", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "65184", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "8148", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "1659", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "31", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "6912", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "79", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "515", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "3", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "5525", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "57" + + }, + "COUNTERS:oid:0x1000000002004": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "144", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "18", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "15456", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "1932", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "99", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "792", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "73632", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "9204", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "5010", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "55", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "7553", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "13", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "995", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "6", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "9133", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "46" + + }, + "COUNTERS:oid:0x1000000002005": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "384", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "48", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "7400", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "925", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "89", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "712", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "66432", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "8304", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "5746", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "92", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "8459", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "74", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "30", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "8", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "1972", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "4" + + }, + "COUNTERS:oid:0x1000000002006": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "568", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "71", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "56968", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "7121", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "46", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "368", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "76848", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "9606", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "3919", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "76", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "649", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "35", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "908", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "3", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "6804", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "10" + + }, + "COUNTERS:oid:0x1000000002007": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "160", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "20", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "9336", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "1167", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "30", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "240", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "39168", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "4896", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "3089", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "56", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "9521", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "83", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "875", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "0", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "2979", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "48" + + }, + "COUNTERS:oid:0x1000000002008": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "304", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "38", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "5624", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "703", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "17", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "136", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "46384", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "5798", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "8636", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "72", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "9950", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "76", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "67", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "2", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "4005", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "8" + + }, + "COUNTERS:oid:0x1000000002009": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "344", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "43", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "77968", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "9746", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "16", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "128", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "1624", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "203", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "6259", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "80", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "7033", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "96", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "226", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "8", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "1732", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "86" + + }, + "COUNTERS:oid:0x1000000002010": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "248", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "31", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "23888", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "2986", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "44", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "352", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "30872", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "3859", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "4585", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "17", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "3176", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "7", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "567", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "5", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "9822", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "32" + + }, + "COUNTERS:oid:0x1000000002011": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "552", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "69", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "35096", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "4387", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "4", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "32", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "4168", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "521", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "8590", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "76", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "7472", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "64", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "527", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "7", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "2772", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "1" + + }, + "COUNTERS:oid:0x1000000002012": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "600", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "75", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "69728", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "8716", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "23", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "184", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "30472", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "3809", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "5447", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "25", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "7670", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "60", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "537", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "4", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "4423", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "30" + + }, + "COUNTERS:oid:0x1000000002013": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "624", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "78", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "21416", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "2677", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "43", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "344", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "67040", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "8380", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "485", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "17", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "458", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "364", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "3", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "6280", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "94" + + }, + "COUNTERS:oid:0x1000000002014": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "504", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "63", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "20744", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "2593", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "7", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "56", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "12672", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "1584", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "8894", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "21", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "6258", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "57", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "69", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "8", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "5812", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "39" + + }, + "COUNTERS:oid:0x1000000002015": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "320", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "40", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "304", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "38", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "58", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "464", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "66480", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "8310", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "8073", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "38", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "2374", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "96", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "115", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "8", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "7589", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "9" + + }, + "COUNTERS:oid:0x1000000003000": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "328", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "41", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "26216", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "3277", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "87", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "696", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "57256", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "7157", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "5380", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "14", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "6152", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "83", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "719", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "9", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "7806", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "73" + + }, + "COUNTERS:oid:0x1000000003001": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "232", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "29", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "23968", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "2996", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "39", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "312", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "42136", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "5267", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "9206", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "77", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "2276", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "35", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "737", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "4", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "6904", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "71" + + }, + "COUNTERS:oid:0x1000000003002": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "792", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "99", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "35976", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "4497", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "97", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "776", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "76728", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "9591", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "9789", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "96", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "3424", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "34", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "946", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "9", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "7498", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "13" + + }, + "COUNTERS:oid:0x1000000003003": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "592", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "74", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "52440", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "6555", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "95", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "760", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "22360", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "2795", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "640", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "9", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "5797", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "4", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "5", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "0", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "1876", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "43" + + }, + "COUNTERS:oid:0x1000000003004": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "120", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "15", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "58576", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "7322", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "44", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "352", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "26960", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "3370", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "6613", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "67", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "849", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "73", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "648", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "8", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "1599", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "78" + + }, + "COUNTERS:oid:0x1000000003005": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "656", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "82", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "57088", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "7136", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "51", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "408", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "7680", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "960", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "7360", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "2", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "7571", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "21", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "127", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "8", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "2939", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "48" + + }, + "COUNTERS:oid:0x1000000003006": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "136", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "17", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "31312", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "3914", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "78", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "624", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "7088", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "886", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "9634", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "51", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "7451", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "76", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "940", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "0", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "3828", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "20" + + }, + "COUNTERS:oid:0x1000000003007": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "88", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "11", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "77264", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "9658", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "46", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "368", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "4824", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "603", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "1435", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "95", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "8539", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "54", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "685", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "9", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "9058", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "54" + + }, + "COUNTERS:oid:0x1000000003008": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "208", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "26", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "24360", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "3045", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "7", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "56", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "17720", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "2215", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "695", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "68", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "8592", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "5", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "181", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "4", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "4963", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "85" + + }, + "COUNTERS:oid:0x1000000003009": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "616", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "77", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "42696", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "5337", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "82", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "656", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "33936", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "4242", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "6729", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "15", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "7587", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "66", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "359", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "8", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "5498", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "36" + + }, + "COUNTERS:oid:0x1000000003010": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "376", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "47", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "2584", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "323", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "76", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "608", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "42376", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "5297", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "6733", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "76", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "3287", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "6", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "902", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "0", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "8748", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "26" + + }, + "COUNTERS:oid:0x1000000003011": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "264", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "33", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "67680", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "8460", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "78", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "624", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "64720", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "8090", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "1394", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "51", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "988", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "15", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "116", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "4", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "8272", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "94" + + }, + "COUNTERS:oid:0x1000000003012": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "152", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "19", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "55904", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "6988", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "36", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "288", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "38064", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "4758", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "5088", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "71", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "373", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "19", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "74", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "8", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "5817", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "0" + + }, + "COUNTERS:oid:0x1000000003013": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "728", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "91", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "69376", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "8672", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "83", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "664", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "23856", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "2982", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "6203", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "97", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "6916", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "49", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "253", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "4", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "4833", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "65" + + }, + "COUNTERS:oid:0x1000000003014": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "136", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "17", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "75744", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "9468", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "44", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "352", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "52240", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "6530", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "1970", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "26", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "6055", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "83", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "573", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "5", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "2860", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "48" + + }, + "COUNTERS:oid:0x1000000003015": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "88", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "11", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "50096", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "6262", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "65", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "520", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "44240", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "5530", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "4331", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "30", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "6559", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "27", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "230", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "4", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "6469", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "50" + + }, + "COUNTERS:oid:0x1000000004000": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "72", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "9", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "65888", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "8236", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "32", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "256", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "34400", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "4300", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "3836", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "77", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "891", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "99", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "962", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "2", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "3473", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "45" + + }, + "COUNTERS:oid:0x1000000004001": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "408", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "51", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "34304", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "4288", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "15", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "120", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "12760", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "1595", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "3922", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "54", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "4771", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "10", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "788", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "8", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "8089", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "15" + + }, + "COUNTERS:oid:0x1000000004002": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "568", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "71", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "59176", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "7397", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "67", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "536", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "43744", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "5468", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "972", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "34", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "6501", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "56", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "413", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "3", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "9569", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "8" + + }, + "COUNTERS:oid:0x1000000004003": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "8", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "1", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "51000", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "6375", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "86", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "688", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "50104", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "6263", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "4753", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "76", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "4747", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "60", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "701", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "7", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "8669", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "96" + + }, + "COUNTERS:oid:0x1000000004004": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "576", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "72", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "75448", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "9431", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "11", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "88", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "24520", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "3065", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "4486", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "8", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "5426", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "25", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "860", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "4", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "3633", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "92" + + }, + "COUNTERS:oid:0x1000000004005": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "392", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "49", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "38360", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "4795", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "71", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "568", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "2232", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "279", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "1848", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "39", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "1624", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "78", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "45", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "8", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "5074", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "10" + + }, + "COUNTERS:oid:0x1000000004006": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "200", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "25", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "65856", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "8232", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "64", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "512", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "79264", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "9908", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "3999", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "71", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "7447", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "15", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "6", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "7", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "3372", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "93" + + }, + "COUNTERS:oid:0x1000000004007": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "72", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "9", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "75600", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "9450", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "94", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "752", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "70608", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "8826", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "6653", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "11", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "1168", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "90", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "440", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "1", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "1084", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "7" + + }, + "COUNTERS:oid:0x1000000004008": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "136", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "17", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "2184", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "273", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "15", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "120", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "13360", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "1670", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "3865", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "47", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "7067", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "53", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "281", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "1", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "5858", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "45" + + }, + "COUNTERS:oid:0x1000000004009": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "312", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "39", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "38600", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "4825", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "51", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "408", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "17984", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "2248", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "5094", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "92", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "6991", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "96", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "636", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "8", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "1734", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "63" + + }, + "COUNTERS:oid:0x1000000004010": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "120", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "15", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "63392", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "7924", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "63", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "504", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "74536", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "9317", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "9421", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "50", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "9647", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "44", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "625", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "7", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "3991", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "1" + + }, + "COUNTERS:oid:0x1000000004011": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "344", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "43", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "75800", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "9475", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "95", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "760", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "6136", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "767", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "9667", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "70", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "3847", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "79", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "778", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "0", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "133", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "29" + + }, + "COUNTERS:oid:0x1000000004012": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "616", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "77", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "21072", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "2634", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "55", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "440", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "29736", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "3717", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "4691", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "26", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "7944", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "34", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "573", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "7", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "6631", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "57" + + }, + "COUNTERS:oid:0x1000000004013": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "232", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "29", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "54920", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "6865", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "30", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "240", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "51208", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "6401", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "8728", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "32", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "5931", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "39", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "768", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "1", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "9010", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "41" + + }, + "COUNTERS:oid:0x1000000004014": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "144", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "18", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "19680", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "2460", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "18", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "144", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "52576", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "6572", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "2668", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "54", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "8344", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "63", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "288", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "1", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "4343", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "60" + + }, + "COUNTERS:oid:0x1000000004015": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "48", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "6", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "61744", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "7718", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "25", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "200", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "69400", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "8675", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "9808", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "12", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "6644", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "2", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "758", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "7", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "7599", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "8" + + }, "COUNTERS_RIF_NAME_MAP": { "Ethernet20": "oid:0x600000000065f", "PortChannel0001": "oid:0x60000000005a1", @@ -222,6 +1566,72 @@ "PortChannel0003": "oid:0x600000000063c", "PortChannel0004": "oid:0x600000000063d" }, + "COUNTERS_QUEUE_NAME_MAP": { + "Ethernet0:0": "oid:0x1000000001000", + "Ethernet0:1": "oid:0x1000000001001", + "Ethernet0:2": "oid:0x1000000001002", + "Ethernet0:3": "oid:0x1000000001003", + "Ethernet0:4": "oid:0x1000000001004", + "Ethernet0:5": "oid:0x1000000001005", + "Ethernet0:6": "oid:0x1000000001006", + "Ethernet0:7": "oid:0x1000000001007", + "Ethernet0:8": "oid:0x1000000001008", + "Ethernet0:9": "oid:0x1000000001009", + "Ethernet0:10": "oid:0x1000000001010", + "Ethernet0:11": "oid:0x1000000001011", + "Ethernet0:12": "oid:0x1000000001012", + "Ethernet0:13": "oid:0x1000000001013", + "Ethernet0:14": "oid:0x1000000001014", + "Ethernet0:15": "oid:0x1000000001015", + "Ethernet4:0": "oid:0x1000000002000", + "Ethernet4:1": "oid:0x1000000002001", + "Ethernet4:2": "oid:0x1000000002002", + "Ethernet4:3": "oid:0x1000000002003", + "Ethernet4:4": "oid:0x1000000002004", + "Ethernet4:5": "oid:0x1000000002005", + "Ethernet4:6": "oid:0x1000000002006", + "Ethernet4:7": "oid:0x1000000002007", + "Ethernet4:8": "oid:0x1000000002008", + "Ethernet4:9": "oid:0x1000000002009", + "Ethernet4:10": "oid:0x1000000002010", + "Ethernet4:11": "oid:0x1000000002011", + "Ethernet4:12": "oid:0x1000000002012", + "Ethernet4:13": "oid:0x1000000002013", + "Ethernet4:14": "oid:0x1000000002014", + "Ethernet4:15": "oid:0x1000000002015", + "Ethernet-BP0:0": "oid:0x1000000003000", + "Ethernet-BP0:1": "oid:0x1000000003001", + "Ethernet-BP0:2": "oid:0x1000000003002", + "Ethernet-BP0:3": "oid:0x1000000003003", + "Ethernet-BP0:4": "oid:0x1000000003004", + "Ethernet-BP0:5": "oid:0x1000000003005", + "Ethernet-BP0:6": "oid:0x1000000003006", + "Ethernet-BP0:7": "oid:0x1000000003007", + "Ethernet-BP0:8": "oid:0x1000000003008", + "Ethernet-BP0:9": "oid:0x1000000003009", + "Ethernet-BP0:10": "oid:0x1000000003010", + "Ethernet-BP0:11": "oid:0x1000000003011", + "Ethernet-BP0:12": "oid:0x1000000003012", + "Ethernet-BP0:13": "oid:0x1000000003013", + "Ethernet-BP0:14": "oid:0x1000000003014", + "Ethernet-BP0:15": "oid:0x1000000003015", + "Ethernet-BP4:0": "oid:0x1000000004000", + "Ethernet-BP4:1": "oid:0x1000000004001", + "Ethernet-BP4:2": "oid:0x1000000004002", + "Ethernet-BP4:3": "oid:0x1000000004003", + "Ethernet-BP4:4": "oid:0x1000000004004", + "Ethernet-BP4:5": "oid:0x1000000004005", + "Ethernet-BP4:6": "oid:0x1000000004006", + "Ethernet-BP4:7": "oid:0x1000000004007", + "Ethernet-BP4:8": "oid:0x1000000004008", + "Ethernet-BP4:9": "oid:0x1000000004009", + "Ethernet-BP4:10": "oid:0x1000000004010", + "Ethernet-BP4:11": "oid:0x1000000004011", + "Ethernet-BP4:12": "oid:0x1000000004012", + "Ethernet-BP4:13": "oid:0x1000000004013", + "Ethernet-BP4:14": "oid:0x1000000004014", + "Ethernet-BP4:15": "oid:0x1000000004015" + }, "COUNTERS_DEBUG_NAME_PORT_STAT_MAP": { "DEBUG_0": "SAI_PORT_STAT_IN_DROP_REASON_RANGE_BASE", "DEBUG_2": "SAI_PORT_STAT_OUT_CONFIGURED_DROP_REASONS_1_DROPPED_PKTS" diff --git a/tests/mock_tables/asic1/config_db.json b/tests/mock_tables/asic1/config_db.json index c8f97c5df1..4a8cb2f845 100644 --- a/tests/mock_tables/asic1/config_db.json +++ b/tests/mock_tables/asic1/config_db.json @@ -51,5 +51,19 @@ }, "PORTCHANNEL_MEMBER|PortChannel4009|Ethernet-BP260" : { "NULL": "NULL" + }, + "PFC_WD|Ethernet-BP256": { + "action": "drop", + "detection_time": "200", + "restoration_time": "200" + }, + "PFC_WD|Ethernet-BP260": { + "action": "drop", + "detection_time": "200", + "restoration_time": "200" + }, + "PFC_WD|GLOBAL": { + "BIG_RED_SWITCH": "enable", + "POLL_INTERVAL": "199" } -} \ No newline at end of file +} diff --git a/tests/mock_tables/asic1/counters_db.json b/tests/mock_tables/asic1/counters_db.json new file mode 100644 index 0000000000..e52c93053b --- /dev/null +++ b/tests/mock_tables/asic1/counters_db.json @@ -0,0 +1,690 @@ +{ + "COUNTERS_PORT_NAME_MAP": { + "Ethernet-BP256": "oid:0x1000000000b06", + "Ethernet-BP260": "oid:0x1000000000b08" + }, + "COUNTERS_LAG_NAME_MAP": { + "PortChannel4009": "oid:0x600000000b5a1" + }, + "COUNTERS_QUEUE_NAME_MAP": { + "Ethernet-BP256:0": "oid:0x100000000b100", + "Ethernet-BP256:1": "oid:0x100000000b101", + "Ethernet-BP256:2": "oid:0x100000000b102", + "Ethernet-BP256:3": "oid:0x100000000b103", + "Ethernet-BP256:4": "oid:0x100000000b104", + "Ethernet-BP256:5": "oid:0x100000000b105", + "Ethernet-BP256:6": "oid:0x100000000b106", + "Ethernet-BP256:7": "oid:0x100000000b107", + "Ethernet-BP256:8": "oid:0x100000000b108", + "Ethernet-BP256:9": "oid:0x100000000b109", + "Ethernet-BP256:10": "oid:0x100000000b110", + "Ethernet-BP256:11": "oid:0x100000000b111", + "Ethernet-BP256:12": "oid:0x100000000b112", + "Ethernet-BP256:13": "oid:0x100000000b113", + "Ethernet-BP256:14": "oid:0x100000000b114", + "Ethernet-BP256:15": "oid:0x100000000b115", + "Ethernet-BP260:0": "oid:0x100000000b200", + "Ethernet-BP260:1": "oid:0x100000000b201", + "Ethernet-BP260:2": "oid:0x100000000b202", + "Ethernet-BP260:3": "oid:0x100000000b203", + "Ethernet-BP260:4": "oid:0x100000000b204", + "Ethernet-BP260:5": "oid:0x100000000b205", + "Ethernet-BP260:6": "oid:0x100000000b206", + "Ethernet-BP260:7": "oid:0x100000000b207", + "Ethernet-BP260:8": "oid:0x100000000b208", + "Ethernet-BP260:9": "oid:0x100000000b209", + "Ethernet-BP260:10": "oid:0x100000000b210", + "Ethernet-BP260:11": "oid:0x100000000b211", + "Ethernet-BP260:12": "oid:0x100000000b212", + "Ethernet-BP260:13": "oid:0x100000000b213", + "Ethernet-BP260:14": "oid:0x100000000b214", + "Ethernet-BP260:15": "oid:0x100000000b215" + }, + "COUNTERS:oid:0x100000000b100": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "224", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "28", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "70488", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "8811", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "4", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "32", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "41976", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "5247", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "5844", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "42", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "7126", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "54", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "286", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "1", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "8381", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "53" + }, + "COUNTERS:oid:0x100000000b101": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "96", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "12", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "2088", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "261", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "29", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "232", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "12904", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "1613", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "1926", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "34", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "4091", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "88", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "421", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "8", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "858", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "11" + }, + "COUNTERS:oid:0x100000000b102": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "416", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "52", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "63344", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "7918", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "64", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "512", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "38688", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "4836", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "1140", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "80", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "6288", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "71", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "962", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "9", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "4965", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "15" + }, + "COUNTERS:oid:0x100000000b103": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "224", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "28", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "40480", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "5060", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "39", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "312", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "18608", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "2326", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "3774", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "65", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "5501", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "86", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "327", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "5", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "2963", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "25" + }, + "COUNTERS:oid:0x100000000b104": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "696", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "87", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "9288", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "1161", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "9", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "72", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "5552", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "694", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "9515", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "34", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "682", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "62", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "601", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "9", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "6934", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "59" + }, + "COUNTERS:oid:0x100000000b105": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "232", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "29", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "23520", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "2940", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "56", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "448", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "42104", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "5263", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "5953", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "12", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "47", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "21", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "129", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "2", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "3149", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "85" + }, + "COUNTERS:oid:0x100000000b106": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "328", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "41", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "10872", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "1359", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "35", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "280", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "12328", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "1541", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "2419", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "61", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "4296", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "53", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "132", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "9", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "447", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "1" + }, + "COUNTERS:oid:0x100000000b107": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "232", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "29", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "13976", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "1747", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "31", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "248", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "71624", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "8953", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "1194", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "96", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "5915", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "41", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "418", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "0", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "2540", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "60" + }, + "COUNTERS:oid:0x100000000b108": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "384", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "48", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "56656", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "7082", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "13", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "104", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "78680", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "9835", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "7366", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "36", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "6813", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "41", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "342", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "3", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "8365", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "84" + }, + "COUNTERS:oid:0x100000000b109": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "536", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "67", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "1656", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "207", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "18", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "144", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "35928", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "4491", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "3419", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "18", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "6963", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "36", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "113", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "3", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "2178", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "39" + }, + "COUNTERS:oid:0x100000000b110": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "712", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "89", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "32568", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "4071", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "58", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "464", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "7256", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "907", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "4559", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "78", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "8647", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "85", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "6", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "5", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "9111", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "92" + }, + "COUNTERS:oid:0x100000000b111": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "488", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "61", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "17392", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "2174", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "16", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "128", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "43632", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "5454", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "6226", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "95", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "5515", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "94", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "377", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "1", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "1879", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "61" + }, + "COUNTERS:oid:0x100000000b112": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "416", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "52", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "20056", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "2507", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "9", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "72", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "1808", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "226", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "5660", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "10", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "9653", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "88", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "69", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "3", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "6656", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "59" + }, + "COUNTERS:oid:0x100000000b113": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "72", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "9", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "12224", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "1528", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "52", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "416", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "45896", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "5737", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "3522", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "10", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "106", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "19", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "114", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "6", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "4592", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "40" + }, + "COUNTERS:oid:0x100000000b114": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "464", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "58", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "11920", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "1490", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "18", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "144", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "18616", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "2327", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "3252", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "68", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "6306", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "55", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "78", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "7", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "7846", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "99" + }, + "COUNTERS:oid:0x100000000b115": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "96", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "12", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "70648", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "8831", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "80", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "640", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "24208", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "3026", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "968", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "15", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "8387", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "98", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "15", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "2", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "6495", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "35" + }, + "COUNTERS:oid:0x100000000b200": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "288", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "36", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "62032", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "7754", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "0", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "0", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "52048", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "6506", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "2030", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "40", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "6262", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "29", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "922", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "2", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "4880", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "84" + }, + "COUNTERS:oid:0x100000000b201": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "776", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "97", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "5840", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "730", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "65", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "520", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "41728", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "5216", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "935", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "94", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "8236", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "44", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "139", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "0", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "3945", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "6" + }, + "COUNTERS:oid:0x100000000b202": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "664", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "83", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "24888", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "3111", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "84", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "672", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "15920", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "1990", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "3989", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "29", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "4700", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "54", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "250", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "3", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "5431", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "27" + }, + "COUNTERS:oid:0x100000000b203": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "192", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "24", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "30568", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "3821", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "69", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "552", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "49816", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "6227", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "8774", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "59", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "5977", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "88", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "853", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "6", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "123", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "22" + }, + "COUNTERS:oid:0x100000000b204": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "304", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "38", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "50792", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "6349", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "80", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "640", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "30240", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "3780", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "3289", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "58", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "8762", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "40", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "509", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "9", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "5097", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "75" + }, + "COUNTERS:oid:0x100000000b205": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "408", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "51", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "57160", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "7145", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "25", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "200", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "60152", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "7519", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "3083", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "84", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "1933", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "90", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "818", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "8", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "590", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "24" + }, + "COUNTERS:oid:0x100000000b206": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "560", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "70", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "22648", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "2831", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "50", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "400", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "77440", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "9680", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "1460", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "71", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "5827", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "5", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "775", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "5", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "9836", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "77" + }, + "COUNTERS:oid:0x100000000b207": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "24", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "3", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "41616", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "5202", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "34", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "272", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "45672", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "5709", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "7692", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "28", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "3935", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "8", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "299", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "3", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "2368", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "75" + }, + "COUNTERS:oid:0x100000000b208": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "120", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "15", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "50608", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "6326", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "69", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "552", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "42120", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "5265", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "7370", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "87", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "6133", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "16", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "581", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "1", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "7944", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "62" + }, + "COUNTERS:oid:0x100000000b209": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "560", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "70", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "22256", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "2782", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "40", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "320", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "27792", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "3474", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "5719", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "87", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "1561", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "11", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "235", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "1", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "4054", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "49" + }, + "COUNTERS:oid:0x100000000b210": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "512", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "64", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "57928", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "7241", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "43", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "344", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "31368", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "3921", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "0", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "6526", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "9", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "5217", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "26", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "260", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "4", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "9338", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "69" + }, + "COUNTERS:oid:0x100000000b211": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "568", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "71", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "18880", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "2360", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "37", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "296", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "12992", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "1624", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "5615", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "81", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "9506", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "12", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "185", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "5", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "9902", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "28" + }, + "COUNTERS:oid:0x100000000b212": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "488", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "61", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "11968", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "1496", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "61", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "488", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "48304", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "6038", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "76", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "28", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "4344", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "45", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "532", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "7", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "8590", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "69" + }, + "COUNTERS:oid:0x100000000b213": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "176", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "22", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "33112", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "4139", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "83", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "664", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "68640", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "8580", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "3839", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "80", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "8143", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "47", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "601", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "7", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "575", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "97" + }, + "COUNTERS:oid:0x100000000b214": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "432", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "54", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "55848", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "6981", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "47", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "376", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "63464", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "7933", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "1", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "3787", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "72", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "9865", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "4", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "493", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "6", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "537", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "95" + }, + "COUNTERS:oid:0x100000000b215": { + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_OCTETS": "104", + "SAI_ROUTER_INTERFACE_STAT_IN_ERROR_PACKETS": "13", + "SAI_ROUTER_INTERFACE_STAT_IN_OCTETS": "44104", + "SAI_ROUTER_INTERFACE_STAT_IN_PACKETS": "5513", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_OCTETS": "93", + "SAI_ROUTER_INTERFACE_STAT_OUT_ERROR_PACKETS": "744", + "SAI_ROUTER_INTERFACE_STAT_OUT_OCTETS": "70616", + "SAI_ROUTER_INTERFACE_STAT_OUT_PACKETS": "8827", + "PFC_WD_QUEUE_STATS_DEADLOCK_DETECTED": "0", + "PFC_WD_QUEUE_STATS_DEADLOCK_RESTORED": "1", + "PFC_WD_QUEUE_STATS_TX_PACKETS": "6803", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS": "57", + "PFC_WD_QUEUE_STATS_RX_PACKETS": "804", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS": "71", + "PFC_WD_QUEUE_STATS_TX_PACKETS_LAST": "104", + "PFC_WD_QUEUE_STATS_TX_DROPPED_PACKETS_LAST": "3", + "PFC_WD_QUEUE_STATS_RX_PACKETS_LAST": "8343", + "PFC_WD_QUEUE_STATS_RX_DROPPED_PACKETS_LAST": "72" + }, + "COUNTERS_DEBUG_NAME_PORT_STAT_MAP": { + "DEBUG_0": "SAI_PORT_STAT_IN_DROP_REASON_RANGE_BASE", + "DEBUG_2": "SAI_PORT_STAT_OUT_CONFIGURED_DROP_REASONS_1_DROPPED_PKTS" + }, + "COUNTERS_DEBUG_NAME_SWITCH_STAT_MAP": { + "DEBUG_1": "SAI_SWITCH_STAT_IN_DROP_REASON_RANGE_BASE" + } +} diff --git a/tests/pfcstat_test.py b/tests/pfcstat_test.py index ee5abc724d..b82fbc89f0 100644 --- a/tests/pfcstat_test.py +++ b/tests/pfcstat_test.py @@ -42,6 +42,26 @@ """ show_pfc_counters_all = """\ + Port Rx PFC0 PFC1 PFC2 PFC3 PFC4 PFC5 PFC6 PFC7 +-------------- ------ ------ ------ ------ ------ ------ ------ ------ + Ethernet0 400 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 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 400 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 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 +""" + +show_pfc_counters_all_asic = """\ Port Rx PFC0 PFC1 PFC2 PFC3 PFC4 PFC5 PFC6 PFC7 ------------ ------ ------ ------ ------ ------ ------ ------ ------ Ethernet0 400 201 202 203 204 205 206 207 @@ -70,33 +90,43 @@ """ show_pfc_counters_msaic_output_diff = """\ - Port Rx PFC0 PFC1 PFC2 PFC3 PFC4 PFC5 PFC6 PFC7 ------------- ------ ------ ------ ------ ------ ------ ------ ------ - Ethernet0 0 0 0 0 0 0 0 0 - Ethernet4 0 0 0 0 0 0 0 0 -Ethernet-BP0 0 0 0 0 0 0 0 0 -Ethernet-BP4 0 0 0 0 0 0 0 0 - - Port Tx PFC0 PFC1 PFC2 PFC3 PFC4 PFC5 PFC6 PFC7 ------------- ------ ------ ------ ------ ------ ------ ------ ------ - Ethernet0 0 0 0 0 0 0 0 0 - Ethernet4 0 0 0 0 0 0 0 0 -Ethernet-BP0 0 0 0 0 0 0 0 0 -Ethernet-BP4 0 0 0 0 0 0 0 0 + Port Rx PFC0 PFC1 PFC2 PFC3 PFC4 PFC5 PFC6 PFC7 +-------------- ------ ------ ------ ------ ------ ------ ------ ------ + Ethernet0 0 0 0 0 0 0 0 0 + Ethernet4 0 0 0 0 0 0 0 0 + Ethernet-BP0 0 0 0 0 0 0 0 0 + Ethernet-BP4 0 0 0 0 0 0 0 0 +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 0 0 0 0 0 0 0 0 + Ethernet4 0 0 0 0 0 0 0 0 + Ethernet-BP0 0 0 0 0 0 0 0 0 + Ethernet-BP4 0 0 0 0 0 0 0 0 +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 """ -def pfc_clear(expected_output): - counters_file_list = ['0tx', '0rx'] +def del_cached_stats(): uid = str(os.getuid()) cnstat_dir = os.path.join(os.sep, "tmp", "pfcstat-{}".format(uid)) shutil.rmtree(cnstat_dir, ignore_errors=True, onerror=None) + +def pfc_clear(expected_output): + counters_file_list = ['0tx', '0rx'] + del_cached_stats() + return_code, result = get_result_and_return_code( 'pfcstat -c' ) # verify that files are created with stats + uid = str(os.getuid()) + cnstat_dir = os.path.join(os.sep, "tmp", "pfcstat-{}".format(uid)) cnstat_fqn_file_rx = "{}rx".format(uid) cnstat_fqn_file_tx = "{}tx".format(uid) file_list = [cnstat_fqn_file_tx, cnstat_fqn_file_rx] @@ -113,7 +143,7 @@ def pfc_clear(expected_output): # this will also verify the saved counters are correct since the # expected counters are all '0s' assert result_stat == expected - shutil.rmtree(cnstat_dir, ignore_errors=True, onerror=None) + del_cached_stats() class TestPfcstat(object): @@ -122,6 +152,7 @@ def setup_class(cls): print("SETUP") os.environ["PATH"] += os.pathsep + scripts_path os.environ["UTILITIES_UNIT_TESTING"] = "2" + del_cached_stats() def test_pfc_counters(self): runner = CliRunner() @@ -143,6 +174,8 @@ def teardown_class(cls): os.environ["PATH"].split(os.pathsep)[:-1] ) os.environ["UTILITIES_UNIT_TESTING"] = "0" + del_cached_stats() + class TestMultiAsicPfcstat(object): @@ -152,7 +185,7 @@ def setup_class(cls): os.environ["PATH"] += os.pathsep + scripts_path os.environ["UTILITIES_UNIT_TESTING"] = "2" os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "multi_asic" - imp.reload(show) + del_cached_stats() def test_pfc_counters_all(self): runner = CliRunner() @@ -182,9 +215,9 @@ def test_pfc_counters_asic_all(self): 'pfcstat -n asic0 -s all' ) assert return_code == 0 - assert result == show_pfc_counters_all + assert result == show_pfc_counters_all_asic - def test_pfc_clear(self): + def test_masic_pfc_clear(self): pfc_clear(show_pfc_counters_msaic_output_diff) @classmethod @@ -195,3 +228,4 @@ def teardown_class(cls): ) os.environ["UTILITIES_UNIT_TESTING"] = "0" os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "" + del_cached_stats() diff --git a/tests/pfcwd_input/pfcwd_test_vectors.py b/tests/pfcwd_input/pfcwd_test_vectors.py index 1d1b219949..41ad34e9d7 100644 --- a/tests/pfcwd_input/pfcwd_test_vectors.py +++ b/tests/pfcwd_input/pfcwd_test_vectors.py @@ -23,7 +23,6 @@ """ pfcwd_show_config_invalid_port_output="""\ -Changed polling interval to 600ms PORT ACTION DETECTION TIME RESTORATION TIME ------ -------- ---------------- ------------------ """ @@ -104,3 +103,142 @@ } ] } + +""" Multi ASIC show command output """ + +show_pfcwd_stats_all = """\ + QUEUE STATUS STORM DETECTED/RESTORED TX OK/DROP RX OK/DROP TX LAST OK/DROP RX LAST OK/DROP +----------------- -------- ------------------------- ------------ ------------ ----------------- ----------------- + Ethernet0:0 N/A 0/0 5871/11 4740/47 499/2 7886/13 + Ethernet0:1 N/A 0/1 724/13 8548/2 226/5 8318/92 + Ethernet0:2 N/A 1/0 3307/99 8919/20 999/0 9885/99 + Ethernet0:3 N/A 0/1 8814/0 1757/49 470/5 9734/35 + Ethernet0:4 N/A 0/0 8245/25 1954/26 880/1 8957/10 + Ethernet0:5 N/A 1/0 6730/99 5743/97 633/8 9538/54 + Ethernet0:6 N/A 0/1 74/72 3683/59 934/6 1060/53 + Ethernet0:7 N/A 0/1 8805/95 4224/85 216/7 4283/0 + Ethernet0:8 N/A 1/0 1530/16 9282/62 235/6 3256/22 + Ethernet0:9 N/A 0/1 3041/68 4391/86 172/9 8458/35 + Ethernet0:10 N/A 0/1 5356/70 2716/68 360/1 1394/13 + Ethernet0:11 N/A 1/1 5114/68 8389/23 777/4 8694/34 + Ethernet0:12 N/A 0/0 8759/98 8378/75 444/4 6390/11 + Ethernet0:13 N/A 0/0 9133/6 8308/65 496/5 3181/96 + Ethernet0:14 N/A 0/0 1819/34 7127/42 126/1 487/69 + Ethernet0:15 N/A 1/0 8152/34 3690/68 347/6 2844/88 + Ethernet4:0 N/A 1/1 1960/67 3987/77 997/3 4406/93 + Ethernet4:1 N/A 0/1 1880/83 8205/56 560/7 4320/95 + Ethernet4:2 N/A 0/1 7068/13 8087/35 196/2 150/56 + Ethernet4:3 N/A 1/0 1659/31 6912/79 515/3 5525/57 + Ethernet4:4 N/A 1/1 5010/55 7553/13 995/6 9133/46 + Ethernet4:5 N/A 0/1 5746/92 8459/74 30/8 1972/4 + Ethernet4:6 N/A 1/1 3919/76 649/35 908/3 6804/10 + Ethernet4:7 N/A 1/1 3089/56 9521/83 875/0 2979/48 + Ethernet4:8 N/A 1/0 8636/72 9950/76 67/2 4005/8 + Ethernet4:9 N/A 0/0 6259/80 7033/96 226/8 1732/86 + Ethernet4:10 N/A 0/0 4585/17 3176/7 567/5 9822/32 + Ethernet4:11 N/A 0/0 8590/76 7472/64 527/7 2772/1 + Ethernet4:12 N/A 0/1 5447/25 7670/60 537/4 4423/30 + Ethernet4:13 N/A 0/0 485/17 458/1 364/3 6280/94 + Ethernet4:14 N/A 1/1 8894/21 6258/57 69/8 5812/39 + Ethernet4:15 N/A 0/1 8073/38 2374/96 115/8 7589/9 + Ethernet-BP0:0 N/A 0/0 5380/14 6152/83 719/9 7806/73 + Ethernet-BP0:1 N/A 1/1 9206/77 2276/35 737/4 6904/71 + Ethernet-BP0:2 N/A 1/0 9789/96 3424/34 946/9 7498/13 + Ethernet-BP0:3 N/A 0/1 640/9 5797/4 5/0 1876/43 + Ethernet-BP0:4 N/A 1/0 6613/67 849/73 648/8 1599/78 + Ethernet-BP0:5 N/A 0/1 7360/2 7571/21 127/8 2939/48 + Ethernet-BP0:6 N/A 0/1 9634/51 7451/76 940/0 3828/20 + Ethernet-BP0:7 N/A 1/0 1435/95 8539/54 685/9 9058/54 + Ethernet-BP0:8 N/A 0/0 695/68 8592/5 181/4 4963/85 + Ethernet-BP0:9 N/A 0/1 6729/15 7587/66 359/8 5498/36 + Ethernet-BP0:10 N/A 0/0 6733/76 3287/6 902/0 8748/26 + Ethernet-BP0:11 N/A 1/1 1394/51 988/15 116/4 8272/94 + Ethernet-BP0:12 N/A 0/1 5088/71 373/19 74/8 5817/0 + Ethernet-BP0:13 N/A 1/0 6203/97 6916/49 253/4 4833/65 + Ethernet-BP0:14 N/A 0/0 1970/26 6055/83 573/5 2860/48 + Ethernet-BP0:15 N/A 0/1 4331/30 6559/27 230/4 6469/50 + Ethernet-BP4:0 N/A 0/1 3836/77 891/99 962/2 3473/45 + Ethernet-BP4:1 N/A 0/0 3922/54 4771/10 788/8 8089/15 + Ethernet-BP4:2 N/A 0/0 972/34 6501/56 413/3 9569/8 + Ethernet-BP4:3 N/A 0/0 4753/76 4747/60 701/7 8669/96 + Ethernet-BP4:4 N/A 0/0 4486/8 5426/25 860/4 3633/92 + Ethernet-BP4:5 N/A 1/1 1848/39 1624/78 45/8 5074/10 + Ethernet-BP4:6 N/A 1/1 3999/71 7447/15 6/7 3372/93 + Ethernet-BP4:7 N/A 1/1 6653/11 1168/90 440/1 1084/7 + Ethernet-BP4:8 N/A 1/0 3865/47 7067/53 281/1 5858/45 + Ethernet-BP4:9 N/A 0/0 5094/92 6991/96 636/8 1734/63 + Ethernet-BP4:10 N/A 0/1 9421/50 9647/44 625/7 3991/1 + Ethernet-BP4:11 N/A 1/1 9667/70 3847/79 778/0 133/29 + Ethernet-BP4:12 N/A 1/0 4691/26 7944/34 573/7 6631/57 + Ethernet-BP4:13 N/A 0/1 8728/32 5931/39 768/1 9010/41 + Ethernet-BP4:14 N/A 0/1 2668/54 8344/63 288/1 4343/60 + Ethernet-BP4:15 N/A 0/1 9808/12 6644/2 758/7 7599/8 + Ethernet-BP256:0 N/A 0/1 5844/42 7126/54 286/1 8381/53 + Ethernet-BP256:1 N/A 1/0 1926/34 4091/88 421/8 858/11 + Ethernet-BP256:2 N/A 1/0 1140/80 6288/71 962/9 4965/15 + Ethernet-BP256:3 N/A 1/0 3774/65 5501/86 327/5 2963/25 + Ethernet-BP256:4 N/A 1/0 9515/34 682/62 601/9 6934/59 + Ethernet-BP256:5 N/A 1/0 5953/12 47/21 129/2 3149/85 + Ethernet-BP256:6 N/A 1/1 2419/61 4296/53 132/9 447/1 + Ethernet-BP256:7 N/A 1/0 1194/96 5915/41 418/0 2540/60 + Ethernet-BP256:8 N/A 0/1 7366/36 6813/41 342/3 8365/84 + Ethernet-BP256:9 N/A 0/1 3419/18 6963/36 113/3 2178/39 +Ethernet-BP256:10 N/A 1/0 4559/78 8647/85 6/5 9111/92 +Ethernet-BP256:11 N/A 0/0 6226/95 5515/94 377/1 1879/61 +Ethernet-BP256:12 N/A 1/1 5660/10 9653/88 69/3 6656/59 +Ethernet-BP256:13 N/A 0/1 3522/10 106/19 114/6 4592/40 +Ethernet-BP256:14 N/A 0/1 3252/68 6306/55 78/7 7846/99 +Ethernet-BP256:15 N/A 1/0 968/15 8387/98 15/2 6495/35 + Ethernet-BP260:0 N/A 1/0 2030/40 6262/29 922/2 4880/84 + Ethernet-BP260:1 N/A 0/1 935/94 8236/44 139/0 3945/6 + Ethernet-BP260:2 N/A 0/0 3989/29 4700/54 250/3 5431/27 + Ethernet-BP260:3 N/A 0/0 8774/59 5977/88 853/6 123/22 + Ethernet-BP260:4 N/A 1/1 3289/58 8762/40 509/9 5097/75 + Ethernet-BP260:5 N/A 1/0 3083/84 1933/90 818/8 590/24 + Ethernet-BP260:6 N/A 1/0 1460/71 5827/5 775/5 9836/77 + Ethernet-BP260:7 N/A 0/1 7692/28 3935/8 299/3 2368/75 + Ethernet-BP260:8 N/A 1/1 7370/87 6133/16 581/1 7944/62 + Ethernet-BP260:9 N/A 1/1 5719/87 1561/11 235/1 4054/49 +Ethernet-BP260:10 N/A 1/0 6526/9 5217/26 260/4 9338/69 +Ethernet-BP260:11 N/A 1/1 5615/81 9506/12 185/5 9902/28 +Ethernet-BP260:12 N/A 1/1 76/28 4344/45 532/7 8590/69 +Ethernet-BP260:13 N/A 0/1 3839/80 8143/47 601/7 575/97 +Ethernet-BP260:14 N/A 1/1 3787/72 9865/4 493/6 537/95 +Ethernet-BP260:15 N/A 0/1 6803/57 804/71 104/3 8343/72 +""" + +show_pfc_config_all = """\ +Changed polling interval to 199ms on asic0 +BIG_RED_SWITCH status is enable on asic0 +Changed polling interval to 199ms on asic1 +BIG_RED_SWITCH status is enable on asic1 + PORT ACTION DETECTION TIME RESTORATION TIME +-------------- -------- ---------------- ------------------ + Ethernet0 drop 200 200 + Ethernet4 drop 200 200 + Ethernet-BP0 drop 200 200 + Ethernet-BP4 drop 200 200 +Ethernet-BP256 drop 200 200 +Ethernet-BP260 drop 200 200 +""" + +show_pfcwd_stats_with_queues = """\ + QUEUE STATUS STORM DETECTED/RESTORED TX OK/DROP RX OK/DROP TX LAST OK/DROP RX LAST OK/DROP +----------------- -------- ------------------------- ------------ ------------ ----------------- ----------------- + Ethernet0:3 N/A 0/1 8814/0 1757/49 470/5 9734/35 + Ethernet4:15 N/A 0/1 8073/38 2374/96 115/8 7589/9 + Ethernet-BP0:13 N/A 1/0 6203/97 6916/49 253/4 4833/65 +Ethernet-BP260:10 N/A 1/0 6526/9 5217/26 260/4 9338/69 +""" + +show_pfcwd_config_with_ports = """\ +Changed polling interval to 199ms on asic0 +BIG_RED_SWITCH status is enable on asic0 +Changed polling interval to 199ms on asic1 +BIG_RED_SWITCH status is enable on asic1 + PORT ACTION DETECTION TIME RESTORATION TIME +-------------- -------- ---------------- ------------------ + Ethernet0 drop 200 200 + Ethernet-BP0 drop 200 200 +Ethernet-BP256 drop 200 200 +""" diff --git a/tests/pfcwd_test.py b/tests/pfcwd_test.py index 008f33d252..4fdafc9aee 100644 --- a/tests/pfcwd_test.py +++ b/tests/pfcwd_test.py @@ -1,10 +1,14 @@ +import imp import os import sys from click.testing import CliRunner from utilities_common.db import Db -from pfcwd_input.pfcwd_test_vectors import testData +from pfcwd_input.pfcwd_test_vectors import ( + testData, show_pfcwd_stats_all, show_pfc_config_all, + show_pfcwd_stats_with_queues, show_pfcwd_config_with_ports +) test_path = os.path.dirname(os.path.abspath(__file__)) modules_path = os.path.dirname(test_path) @@ -12,7 +16,6 @@ sys.path.insert(0, test_path) sys.path.insert(0, modules_path) -import pfcwd.main as pfcwd class TestPfcwd(object): @classmethod @@ -46,6 +49,7 @@ def test_pfcwd_show_stats_invalid_queue(self): self.executor(testData['pfcwd_show_stats_invalid_queue']) def executor(self, testcase): + import pfcwd.main as pfcwd runner = CliRunner() db = Db() @@ -80,3 +84,69 @@ 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") + + +class TestMultiAsicPfcwdShow(object): + @classmethod + def setup_class(cls): + print("SETUP") + os.environ["PATH"] += os.pathsep + scripts_path + os.environ["UTILITIES_UNIT_TESTING"] = "2" + os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = "multi_asic" + import pfcwd.main + imp.reload(pfcwd.main) + + def test_pfcwd_stats_all(self): + import pfcwd.main as pfcwd + print(pfcwd.__file__) + runner = CliRunner() + result = runner.invoke( + pfcwd.cli.commands["show"].commands["stats"] + ) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_pfcwd_stats_all + + def test_pfcwd_stats_with_queues(self): + import pfcwd.main as pfcwd + runner = CliRunner() + result = runner.invoke( + pfcwd.cli.commands["show"].commands["stats"], + [ + "Ethernet0:3", "Ethernet4:15", "Ethernet-BP0:13", + "Ethernet-BP260:10", "InvalidQueue" + ] + ) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_pfcwd_stats_with_queues + + def test_pfcwd_config_all(self): + import pfcwd.main as pfcwd + runner = CliRunner() + result = runner.invoke( + pfcwd.cli.commands["show"].commands["config"] + ) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_pfc_config_all + + def test_pfcwd_config_with_ports(self): + import pfcwd.main as pfcwd + runner = CliRunner() + result = runner.invoke( + pfcwd.cli.commands["show"].commands["config"], + ["Ethernet0", "Ethernet-BP0", "Ethernet-BP256", "InvalidPort"] + ) + print(result.output) + assert result.exit_code == 0 + assert result.output == show_pfcwd_config_with_ports + + @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" + os.environ["UTILITIES_UNIT_TESTING_TOPOLOGY"] = ""