diff --git a/config/main.py b/config/main.py index 7f82deec8c..b526a43e49 100644 --- a/config/main.py +++ b/config/main.py @@ -1567,12 +1567,17 @@ def start(action, restoration_time, ports, detection_time, verbose): @pfcwd.command() @click.option('--verbose', is_flag=True, help="Enable verbose output") -def stop(verbose): - """ Stop PFC watchdog """ +@click.argument('ports', nargs=-1) +def stop(verbose, ports): + """ Stop PFC watchdog """ + + cmd = "pfcwd stop" - cmd = "pfcwd stop" + if ports: + ports = set(ports) + cmd += " {}".format(' '.join(ports)) - clicommon.run_command(cmd, display_cmd=verbose) + clicommon.run_command(cmd, display_cmd=verbose) @pfcwd.command() @click.option('--verbose', is_flag=True, help="Enable verbose output") diff --git a/doc/Command-Reference.md b/doc/Command-Reference.md index 3088b6db61..c4a8cc7e67 100644 --- a/doc/Command-Reference.md +++ b/doc/Command-Reference.md @@ -5325,7 +5325,8 @@ This command stops PFC Watchdog - Usage: ``` - config pfcwd stop + config pfcwd stop Ethernet0 + config pfcwd stop all ``` **config pfcwd interval \** diff --git a/pfcwd/main.py b/pfcwd/main.py index c55038b9b2..9d8138ba3b 100644 --- a/pfcwd/main.py +++ b/pfcwd/main.py @@ -105,9 +105,7 @@ def __init__( ): self.db = None self.config_db = None - self.multi_asic = multi_asic_util.MultiAsic( - display, namespace, db - ) + self.multi_asic = multi_asic_util.MultiAsic(display, namespace, db) self.table = [] self.all_ports = [] @@ -339,6 +337,10 @@ def stop(self, ports): ) if len(ports) == 0: + click.echo("Ports not selected") + return + + if 'all' in ports: ports = all_ports for port in ports: