37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
|
import os
|
||
|
import click
|
||
|
|
||
|
import show.plugins.macsec as show_macsec
|
||
|
import utilities_common.cli as clicommon
|
||
|
from sonic_py_common import multi_asic
|
||
|
|
||
|
@click.group(cls=clicommon.AliasedGroup)
|
||
|
def macsec():
|
||
|
pass
|
||
|
|
||
|
|
||
|
@macsec.command('macsec')
|
||
|
@click.option('--clean-cache', type=bool, required=False, default=False, help="If the option of clean cache is true, next show commands will show the raw counters which based on the service booted instead of the last clear command.")
|
||
|
def macsec_clear_counters(clean_cache):
|
||
|
"""
|
||
|
Clear MACsec counts.
|
||
|
This clear command will generated a cache for next show commands which will base on this cache as the zero baseline to show the increment of counters.
|
||
|
"""
|
||
|
|
||
|
if clean_cache:
|
||
|
for namespace in multi_asic.get_namespace_list():
|
||
|
if os.path.isfile(show_macsec.CACHE_FILE.format(namespace)):
|
||
|
os.remove(show_macsec.CACHE_FILE.format(namespace))
|
||
|
print("Cleaned cache")
|
||
|
return
|
||
|
|
||
|
clicommon.run_command("show macsec --dump-file")
|
||
|
print("Clear MACsec counters")
|
||
|
|
||
|
def register(cli):
|
||
|
cli.add_command(macsec_clear_counters)
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
macsec_clear_counters(None)
|