From 3dce6ad9a797911c6f0328ca873e0067c88cdc35 Mon Sep 17 00:00:00 2001 From: Lukeman Hakkim Sheik Alavudeen Date: Mon, 25 Nov 2024 09:47:06 -0800 Subject: [PATCH] Releasing v24.11 --- Makefile | 4 +- changelog/2024/november.rst | 103 ++ sdk_generator/outputs/github_parser.json | 860 +++++++--- src/genie/libs/parser/__init__.py | 2 +- .../parser/iosxe/cat9k/c9400/show_idprom.py | 187 ++- .../cli/equal/golden_output_1_expected.py | 148 ++ .../cli/equal/golden_output_1_output.txt | 147 ++ .../parser/iosxe/cat9k/c9500/show_igmp.py | 77 + .../cli/equal/golden_output_expected.py | 15 + .../cli/equal/golden_output_output.txt | 6 + .../parser/iosxe/cat9k/c9610/show_idprom.py | 158 ++ .../cli/empty/empty_output_output.txt | 0 .../cli/equal/golden_output_expected.py | 105 ++ .../cli/equal/golden_output_output.txt | 113 ++ .../libs/parser/iosxe/rv1/show_platform.py | 124 ++ .../cli/equal/golden_output_1_arguments.json | 3 + .../cli/equal/golden_output_1_expected.py | 87 + .../cli/equal/golden_output_1_output.txt | 15 + .../cli/equal/golden_output_2_arguments.json | 3 + .../cli/equal/golden_output_2_expected.py | 70 + .../cli/equal/golden_output_2_output.txt | 23 + .../libs/parser/iosxe/show_controller.py | 931 ++++++++++- .../libs/parser/iosxe/show_dns_lookup.py | 273 ++++ src/genie/libs/parser/iosxe/show_igmp.py | 18 +- src/genie/libs/parser/iosxe/show_ip.py | 4 +- src/genie/libs/parser/iosxe/show_lisp.py | 4 +- .../libs/parser/iosxe/show_lisp_super.py | 3 +- src/genie/libs/parser/iosxe/show_platform.py | 16 +- .../parser/iosxe/show_platform_hardware.py | 126 ++ .../parser/iosxe/show_platform_software.py | 97 +- .../iosxe/show_platform_software_fed.py | 104 +- .../iosxe/show_platform_software_fed_punt.py | 96 +- .../show_platform_software_fed_switch_num.py | 102 ++ .../libs/parser/iosxe/show_policy_map.py | 2 + src/genie/libs/parser/iosxe/show_software.py | 145 ++ .../cli/empty/empty_output_arguments.json | 4 + .../cli/empty/empty_output_output.txt | 0 .../cli/equal/golden_output_arguments.json | 4 + .../cli/equal/golden_output_expected.py | 1416 ++++++++++++++++ .../cli/equal/golden_output_output.txt | 1452 +++++++++++++++++ .../cli/empty/empty_output_output.txt | 0 .../cli/equal/golden_output1_expected.py | 50 + .../cli/equal/golden_output1_output.txt | 22 + .../cli/equal/golden_output2_expected.py | 95 ++ .../cli/equal/golden_output2_output.txt | 44 + .../cli/equal/golden_output3_arguments.json | 3 + .../cli/equal/golden_output3_expected.py | 95 ++ .../cli/equal/golden_output3_output.txt | 42 + .../cli/equal/golden_output4_expected.py | 16 + .../cli/equal/golden_output4_output.txt | 10 + .../cli/equal/golden_output_4_expected.py | 15 + .../cli/equal/golden_output_4_output.txt | 6 + .../cli/equal/golden_output_3_expected.py | 26 + .../cli/equal/golden_output_3_output.txt | 19 + .../cli/equal/golden_output6_arguments.json | 3 + .../cli/equal/golden_output6_expected.py | 151 ++ .../cli/equal/golden_output6_output.txt | 45 + .../cli/equal/golden_output5_arguments.json | 3 + .../cli/equal/golden_output5_expected.py | 151 ++ .../cli/equal/golden_output5_output.txt | 45 + .../cli/equal/golden_output4_arguments.json | 5 + .../cli/equal/golden_output4_expected.py | 5 + .../cli/equal/golden_output4_output.txt | 4 + .../cli/empty/empty_output_arguments.json | 4 + .../cli/empty/empty_output_output.txt | 0 .../cli/equal/golden_output_arguments.json | 4 + .../cli/equal/golden_output_expected.py | 7 + .../cli/equal/golden_output_output.txt | 6 + .../cli/empty/empty_output_arguments.json | 10 + .../cli/empty/empty_output_output.txt | 0 .../cli/equal/golden_output_arguments.json | 10 + .../cli/equal/golden_output_expected.py | 4 + .../cli/equal/golden_output_output.txt | 2 + .../cli/equal/golden_output_2_arguments.json | 4 + .../cli/equal/golden_output_2_expected.py | 67 + .../cli/equal/golden_output_2_output.txt | 41 + .../cli/equal/golden_output_2_arguments.json | 4 + .../cli/equal/golden_output_2_expected.py | 52 + .../cli/equal/golden_output_2_output.txt | 24 + .../cli/empty/empty_output_2_arguments.json | 4 + .../cli/equal/golden_output_2_arguments.json | 4 + .../cli/equal/golden_output_2_expected.py | 23 + .../cli/equal/golden_output_2_output.txt | 25 + .../cli/equal/golden_output_3_arguments.json | 4 + .../cli/equal/golden_output_3_expected.py | 73 + .../cli/equal/golden_output_3_output.txt | 44 + .../cli/empty/empty_output_arguments.json | 4 + .../cli/empty/empty_output_output.txt | 0 .../cli/equal/golden_output_arguments.json | 4 + .../cli/equal/golden_output_expected.py | 30 + .../cli/equal/golden_output_output.txt | 5 + .../cli/empty/empty_output_output.txt | 0 .../cli/equal/golden_output_expected.py | 196 +++ .../cli/equal/golden_output_output.txt | 34 + .../cli/empty/empty_output_output.txt | 0 .../cli/equal/golden_output_expected.py | 9 + .../cli/equal/golden_output_output.txt | 4 + .../cli/empty/empty_output_output.txt | 0 .../cli/equal/golden_output_expected.py | 287 ++++ .../cli/equal/golden_output_output.txt | 96 ++ .../cli/empty/empty_output_output.txt | 0 .../cli/equal/golden_output_expected.py | 19 + .../cli/equal/golden_output_output.txt | 8 + .../cli/empty/empty_output_arguments.json | 3 + .../cli/empty/empty_output_output.txt | 0 .../cli/equal/golden_output_arguments.json | 3 + .../cli/equal/golden_output_expected.py | 16 + .../cli/equal/golden_output_output.txt | 6 + .../cli/equal/golden_output35_argument.json | 3 + .../cli/equal/golden_output35_expected.py | 54 + .../cli/equal/golden_output35_output.txt | 27 + .../cli/equal/golden_output3_expected.py | 133 ++ .../cli/equal/golden_output3_output.txt | 12 + .../cli/equal/golden_output2_expected.py | 15 + .../cli/equal/golden_output2_output.txt | 9 + .../cli/empty/empty_output_output.txt | 0 .../cli/equal/golden_output_expected.py | 100 ++ .../cli/equal/golden_output_output.txt | 141 ++ src/genie/libs/parser/iosxr/show_lag.py | 34 +- .../cli/equal/golden_output_3_expected.py | 211 +++ .../cli/equal/golden_output_3_output.txt | 69 + src/genie/libs/parser/nxos/show_igmp.py | 15 +- src/genie/libs/parser/nxos/show_mld.py | 55 +- src/genie/libs/parser/nxos/show_pim.py | 3 +- .../cli/equal/golden_output_3_arguments.json | 3 + .../cli/equal/golden_output_3_expected.py | 49 + .../cli/equal/golden_output_3_output.txt | 9 + .../cli/equal/golden_output_expected.py | 49 + .../cli/equal/golden_output_output.txt | 9 + .../cli/empty/empty_output_output.txt | 0 .../cli/equal/golden_output_arguments.json | 4 + .../cli/equal/golden_output_expected.py | 38 + .../cli/equal/golden_output_output.txt | 14 + src/genie/libs/parser/utils/common.py | 12 +- .../tests/test_fuzzy_regex_search_command.py | 4 + src/genie/libs/parser/viptela/show_control.py | 8 +- src/genie/libs/parser/viptela/show_omp.py | 14 +- src/genie/libs/parser/viptela/show_routing.py | 4 +- src/genie/libs/parser/viptela/show_system.py | 4 +- .../cli/equal/golden_output3_expected.py | 133 ++ .../cli/equal/golden_output3_output.txt | 13 + .../cli/equal/golden_output5_expected.py | 444 +++++ .../cli/equal/golden_output5_output.txt | 41 + .../cli/equal/golden_output2_expected.py | 15 + .../cli/equal/golden_output2_output.txt | 9 + .../cli/equal/golden_output4_expected.py | 51 + .../cli/equal/golden_output4_output.txt | 39 + 147 files changed, 10468 insertions(+), 421 deletions(-) create mode 100644 changelog/2024/november.rst create mode 100644 src/genie/libs/parser/iosxe/cat9k/c9400/tests/ShowIdprom/cli/equal/golden_output_1_expected.py create mode 100644 src/genie/libs/parser/iosxe/cat9k/c9400/tests/ShowIdprom/cli/equal/golden_output_1_output.txt create mode 100644 src/genie/libs/parser/iosxe/cat9k/c9500/show_igmp.py create mode 100644 src/genie/libs/parser/iosxe/cat9k/c9500/tests/ShowIpIgmpSnoopingGroups/cli/equal/golden_output_expected.py create mode 100644 src/genie/libs/parser/iosxe/cat9k/c9500/tests/ShowIpIgmpSnoopingGroups/cli/equal/golden_output_output.txt create mode 100644 src/genie/libs/parser/iosxe/cat9k/c9610/show_idprom.py create mode 100644 src/genie/libs/parser/iosxe/cat9k/c9610/tests/ShowIdpromEeprom/cli/empty/empty_output_output.txt create mode 100644 src/genie/libs/parser/iosxe/cat9k/c9610/tests/ShowIdpromEeprom/cli/equal/golden_output_expected.py create mode 100644 src/genie/libs/parser/iosxe/cat9k/c9610/tests/ShowIdpromEeprom/cli/equal/golden_output_output.txt create mode 100644 src/genie/libs/parser/iosxe/rv1/show_platform.py create mode 100644 src/genie/libs/parser/iosxe/rv1/tests/ShowProcessesCpuPlatformSorted/cli/equal/golden_output_1_arguments.json create mode 100644 src/genie/libs/parser/iosxe/rv1/tests/ShowProcessesCpuPlatformSorted/cli/equal/golden_output_1_expected.py create mode 100644 src/genie/libs/parser/iosxe/rv1/tests/ShowProcessesCpuPlatformSorted/cli/equal/golden_output_1_output.txt create mode 100644 src/genie/libs/parser/iosxe/rv1/tests/ShowProcessesCpuPlatformSorted/cli/equal/golden_output_2_arguments.json create mode 100644 src/genie/libs/parser/iosxe/rv1/tests/ShowProcessesCpuPlatformSorted/cli/equal/golden_output_2_expected.py create mode 100644 src/genie/libs/parser/iosxe/rv1/tests/ShowProcessesCpuPlatformSorted/cli/equal/golden_output_2_output.txt create mode 100644 src/genie/libs/parser/iosxe/show_dns_lookup.py create mode 100644 src/genie/libs/parser/iosxe/show_software.py create mode 100644 src/genie/libs/parser/iosxe/tests/ShowControllerEthernetControllerInterfaceMac/cli/empty/empty_output_arguments.json create mode 100644 src/genie/libs/parser/iosxe/tests/ShowControllerEthernetControllerInterfaceMac/cli/empty/empty_output_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowControllerEthernetControllerInterfaceMac/cli/equal/golden_output_arguments.json create mode 100644 src/genie/libs/parser/iosxe/tests/ShowControllerEthernetControllerInterfaceMac/cli/equal/golden_output_expected.py create mode 100644 src/genie/libs/parser/iosxe/tests/ShowControllerEthernetControllerInterfaceMac/cli/equal/golden_output_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/empty/empty_output_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output1_expected.py create mode 100644 src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output1_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output2_expected.py create mode 100644 src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output2_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output3_arguments.json create mode 100644 src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output3_expected.py create mode 100644 src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output3_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output4_expected.py create mode 100644 src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output4_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowIpIgmpSnoopingGroups/cli/equal/golden_output_4_expected.py create mode 100644 src/genie/libs/parser/iosxe/tests/ShowIpIgmpSnoopingGroups/cli/equal/golden_output_4_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowIpNbarVersion/cli/equal/golden_output_3_expected.py create mode 100644 src/genie/libs/parser/iosxe/tests/ShowIpNbarVersion/cli/equal/golden_output_3_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowLispDatabaseConfigPropV4Parser/cli/equal/golden_output6_arguments.json create mode 100644 src/genie/libs/parser/iosxe/tests/ShowLispDatabaseConfigPropV4Parser/cli/equal/golden_output6_expected.py create mode 100644 src/genie/libs/parser/iosxe/tests/ShowLispDatabaseConfigPropV4Parser/cli/equal/golden_output6_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowLispDatabaseConfigPropV6Parser/cli/equal/golden_output5_arguments.json create mode 100644 src/genie/libs/parser/iosxe/tests/ShowLispDatabaseConfigPropV6Parser/cli/equal/golden_output5_expected.py create mode 100644 src/genie/libs/parser/iosxe/tests/ShowLispDatabaseConfigPropV6Parser/cli/equal/golden_output5_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowLispExtranet/cli/equal/golden_output4_arguments.json create mode 100644 src/genie/libs/parser/iosxe/tests/ShowLispExtranet/cli/equal/golden_output4_expected.py create mode 100644 src/genie/libs/parser/iosxe/tests/ShowLispExtranet/cli/equal/golden_output4_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedSwitchActiveNpuSlotPortRecreate/cli/empty/empty_output_arguments.json create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedSwitchActiveNpuSlotPortRecreate/cli/empty/empty_output_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedSwitchActiveNpuSlotPortRecreate/cli/equal/golden_output_arguments.json create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedSwitchActiveNpuSlotPortRecreate/cli/equal/golden_output_expected.py create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedSwitchActiveNpuSlotPortRecreate/cli/equal/golden_output_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedXcvrRegisters/cli/empty/empty_output_arguments.json create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedXcvrRegisters/cli/empty/empty_output_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedXcvrRegisters/cli/equal/golden_output_arguments.json create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedXcvrRegisters/cli/equal/golden_output_expected.py create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedXcvrRegisters/cli/equal/golden_output_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmCountersInterfaceIsis/cli/equal/golden_output_2_arguments.json create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmCountersInterfaceIsis/cli/equal/golden_output_2_expected.py create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmCountersInterfaceIsis/cli/equal/golden_output_2_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchActiveB0CountersInterfaceLacp/cli/equal/golden_output_2_arguments.json create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchActiveB0CountersInterfaceLacp/cli/equal/golden_output_2_expected.py create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchActiveB0CountersInterfaceLacp/cli/equal/golden_output_2_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchB0CountersDrop/cli/empty/empty_output_2_arguments.json create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchB0CountersDrop/cli/equal/golden_output_2_arguments.json create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchB0CountersDrop/cli/equal/golden_output_2_expected.py create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchB0CountersDrop/cli/equal/golden_output_2_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchB0CountersPuntInject/cli/equal/golden_output_3_arguments.json create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchB0CountersPuntInject/cli/equal/golden_output_3_expected.py create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchB0CountersPuntInject/cli/equal/golden_output_3_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedPuntEntriesInclude/cli/empty/empty_output_arguments.json create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedPuntEntriesInclude/cli/empty/empty_output_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedPuntEntriesInclude/cli/equal/golden_output_arguments.json create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedPuntEntriesInclude/cli/equal/golden_output_expected.py create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedPuntEntriesInclude/cli/equal/golden_output_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveCpuInterfaces/cli/empty/empty_output_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveCpuInterfaces/cli/equal/golden_output_expected.py create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveCpuInterfaces/cli/equal/golden_output_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveIfmMappingsL3if_le/cli/empty/empty_output_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveIfmMappingsL3if_le/cli/equal/golden_output_expected.py create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveIfmMappingsL3if_le/cli/equal/golden_output_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveStatisticsInit/cli/empty/empty_output_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveStatisticsInit/cli/equal/golden_output_expected.py create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveStatisticsInit/cli/equal/golden_output_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchNumberIfmMappingsPortLE/cli/empty/empty_output_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchNumberIfmMappingsPortLE/cli/equal/golden_output_expected.py create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchNumberIfmMappingsPortLE/cli/equal/golden_output_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareWiredClientID/cli/empty/empty_output_arguments.json create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareWiredClientID/cli/empty/empty_output_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareWiredClientID/cli/equal/golden_output_arguments.json create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareWiredClientID/cli/equal/golden_output_expected.py create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareWiredClientID/cli/equal/golden_output_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPolicyMapInterface/cli/equal/golden_output35_argument.json create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPolicyMapInterface/cli/equal/golden_output35_expected.py create mode 100644 src/genie/libs/parser/iosxe/tests/ShowPolicyMapInterface/cli/equal/golden_output35_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowSdwanControlConnections/cli/equal/golden_output3_expected.py create mode 100644 src/genie/libs/parser/iosxe/tests/ShowSdwanControlConnections/cli/equal/golden_output3_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowSdwanOmpPeers/cli/equal/golden_output2_expected.py create mode 100644 src/genie/libs/parser/iosxe/tests/ShowSdwanOmpPeers/cli/equal/golden_output2_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowSoftwareAuthenticityRunning/cli/empty/empty_output_output.txt create mode 100644 src/genie/libs/parser/iosxe/tests/ShowSoftwareAuthenticityRunning/cli/equal/golden_output_expected.py create mode 100644 src/genie/libs/parser/iosxe/tests/ShowSoftwareAuthenticityRunning/cli/equal/golden_output_output.txt create mode 100644 src/genie/libs/parser/iosxr/tests/ShowLacp/cli/equal/golden_output_3_expected.py create mode 100644 src/genie/libs/parser/iosxr/tests/ShowLacp/cli/equal/golden_output_3_output.txt create mode 100644 src/genie/libs/parser/nxos/tests/ShowIpIgmpGroups/cli/equal/golden_output_3_arguments.json create mode 100644 src/genie/libs/parser/nxos/tests/ShowIpIgmpGroups/cli/equal/golden_output_3_expected.py create mode 100644 src/genie/libs/parser/nxos/tests/ShowIpIgmpGroups/cli/equal/golden_output_3_output.txt create mode 100644 src/genie/libs/parser/nxos/tests/ShowIpv6MldGroups/cli/equal/golden_output_expected.py create mode 100644 src/genie/libs/parser/nxos/tests/ShowIpv6MldGroups/cli/equal/golden_output_output.txt create mode 100644 src/genie/libs/parser/nxos/tests/ShowPimRp/cli/empty/empty_output_output.txt create mode 100644 src/genie/libs/parser/nxos/tests/ShowPimRp/cli/equal/golden_output_arguments.json create mode 100644 src/genie/libs/parser/nxos/tests/ShowPimRp/cli/equal/golden_output_expected.py create mode 100644 src/genie/libs/parser/nxos/tests/ShowPimRp/cli/equal/golden_output_output.txt create mode 100644 src/genie/libs/parser/viptela/tests/ShowControlConnections/cli/equal/golden_output3_expected.py create mode 100644 src/genie/libs/parser/viptela/tests/ShowControlConnections/cli/equal/golden_output3_output.txt create mode 100644 src/genie/libs/parser/viptela/tests/ShowIpRoutes/cli/equal/golden_output5_expected.py create mode 100644 src/genie/libs/parser/viptela/tests/ShowIpRoutes/cli/equal/golden_output5_output.txt create mode 100644 src/genie/libs/parser/viptela/tests/ShowOmpPeers/cli/equal/golden_output2_expected.py create mode 100644 src/genie/libs/parser/viptela/tests/ShowOmpPeers/cli/equal/golden_output2_output.txt create mode 100644 src/genie/libs/parser/viptela/tests/ShowSystemStatus/cli/equal/golden_output4_expected.py create mode 100644 src/genie/libs/parser/viptela/tests/ShowSystemStatus/cli/equal/golden_output4_output.txt diff --git a/Makefile b/Makefile index 452b2cd2ce..b95de2b77c 100644 --- a/Makefile +++ b/Makefile @@ -160,7 +160,7 @@ develop: @pip uninstall -y $(RELATED_PKGS) || true @pip install $(DEPENDENCIES) - @$(PYTHON) setup.py develop --no-deps + @pip install -e . --no-deps @echo "" @echo "Completed building and installing: $@" @@ -179,7 +179,7 @@ undevelop: @echo "Uninstalling $(PKG_NAME) development distributable: $@" @echo "" - @$(PYTHON) setup.py develop --no-deps -q --uninstall + @pip uninstall $(PKG_NAME) -y @echo "" @echo "Completed uninstalling: $@" diff --git a/changelog/2024/november.rst b/changelog/2024/november.rst new file mode 100644 index 0000000000..de08c070b2 --- /dev/null +++ b/changelog/2024/november.rst @@ -0,0 +1,103 @@ +-------------------------------------------------------------------------------- + New +-------------------------------------------------------------------------------- + +* iosxe + * Added ShowSoftwareAuthenticityRunning + * Added schema and parser for 'show software authenticity running' + * Added ShowPlatformHardwareFedXcvrRegisters parser + * Added parser for cli show platform Hardware Fed XCVR Registers + * Added ShowPlatformHardwareFedSwitchActiveNpuSlotPortRecreate parser + * Added parser for cli show platform Hardware NPUSlot PortCreate + * Added `ShowPlatformSoftwareFedSwitchActiveIfmMappingsL3if_le` parser. + * Added parser for CLI `show platform software fed switch active ifm mappings l3if-le`. + * Added ShowPlatformSoftwareFedSwitchNumberIfmMappingsPortLE parser. + * Added parser for CLI `show platform software fed switch active ifm mappings port-le`. + * Added ShowDnsLookup Parser in show_dns_lookup.py + * show dns-lookup cache + * show dns-lookup hostname {hostname} + * Added ShowControllerEthernetControllerInterfaceMac parser + * Added parser for cli show controller interface mac + * Added ShowIdpromEeprom parser + * Added parser for cli show idprom all eeprom + * added ShowPlatformSoftwareFedPuntEntriesInclude Parser + * parser for show platform software fed {switch} {port_num} punt entries | include {match} + * Added ShowPlatformSoftwareFedSwitchActiveStatisticsInit parser. + * Added parser for CLI 'show platform software fed switch active statistics init' + * Added revision1 for ShowProcessesCpuPlatformSorted parser. + * Added revision1 for CLI `show processes cpu platform sorted`. + * Added ShowPlatformSoftwareFedSwitchActiveCpuInterfaces parser. + * Added parser for CLI `show platform software fed switch active cpu-interfaces`. + * Added ShowPlatformSoftwareWiredClientID parser. + * Added parser for cli 'show platform software wired-client {client_id}'. + +* utils + * Added revision keyword and handling to get_parser. + + +-------------------------------------------------------------------------------- + Fix +-------------------------------------------------------------------------------- + +* iosxe + * Modified fix for golden_output_expected.py + * fixed the regex spaces fixes + * Modified fix for show_platform_software_fed.py + * removed unnecessary blank lines + * added pattern as a comment for regex + * conflict for show_platform_software_fed.py resolved + * test commit done + * added comment for match line + * Modified fix for ShowIdprom. + * Modified the key value as optional to accomodate various outputs. + * Modified fix for ShowLispDatabaseConfigPropSuperParser + * Modified the regex patterns to accommodate different output. + * Modified ShowIpNbarVersion + * made file and creation_time optional + * Modified fix for ShowPolicyMapInterface + * added rate_bps and burst_bytes under child policy-name section. + * Modified ShowIpIgmpSnoopingGroups + * Modified , , and in the schema as Optional. + * Added regex pattern to accommodate various outputs. + * Modified ShowLispExtranet + * Changed , from schema to Optional. + * Modified ShowPlatformSoftwareCpmCountersInterfaceIsis + * Added BP command for the same schema and output. + * Modified ShowPlatformSoftwareCpmSwitchB0CountersPuntInject + * Added BP command for the same schema and output. + * Modified ShowPlatformSoftwareCpmSwitchActiveB0CountersInterfaceLacp + * Added BP command for the same schema and output. + * Modified ShowPlatformSoftwareCpmSwitchB0CountersDrop + * Added BP command for the same schema and output. + * Update revision1 for ShowProcessesCpuPlatformSorted parser. + * Made cpu_utilization, five_sec_cpu_total, one_min_cpu, five_min_cpu optional. + +* viptela + * Modified ShowControlConnections + * Updated regex pattern to accommodate string length changes in rows. + * Modified ShowIpRoutes + * Updated regex pattern to accommodate the nh_if_name column running into the nh_addr column. + * Modified ShowOmpPeers + * Updated regex pattern to accommodate tenant id and region id. + * Modified ShowSystemStatus + * Updated regex pattern to accommodate matching key values correctly when additional colons are in values. + +* iosxr + * Modified ShowLacp + * Changed key from schema to Optional. + * Updated regex pattern and to accommodate various outputs. + +* nxos + * Modified ShowIpIgmpGroups + * Updated regex pattern and to accommodate various outputs. + * Modified ShowPimRp + * Updated regex pattern to accommodate various outputs. + * Modified ShowIpv6MldGroups + * Updated regex pattern p4, p6 and p7 to handle white space. + * Modified line.strip() to rstrip(). + * Modified the logic to handle different output + +* common + * Modified _fuzzy_search_command and _is_regular_token functions to make it work for commands which contains arguments inside parenthesis. + + diff --git a/sdk_generator/outputs/github_parser.json b/sdk_generator/outputs/github_parser.json index da9389fbd7..b3d31f490e 100644 --- a/sdk_generator/outputs/github_parser.json +++ b/sdk_generator/outputs/github_parser.json @@ -19120,7 +19120,7 @@ "os": "iosxe" }, "uid": "show_call_admission_statistics", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6669" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6668" } } }, @@ -19136,7 +19136,7 @@ "os": "iosxe" }, "uid": "show_call_admission_statistics_detailed", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6837" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6836" } } }, @@ -20672,7 +20672,7 @@ "os": "viptela" }, "uid": "show_control_connection-history", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/viptela/show_control.py#L449" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/viptela/show_control.py#L455" } } }, @@ -20704,7 +20704,7 @@ "os": "viptela" }, "uid": "show_control_local-properties", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/viptela/show_control.py#L179" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/viptela/show_control.py#L185" } } }, @@ -20866,6 +20866,22 @@ } } }, + "show controllers ethernet-controller {interface} mac": { + "folders": { + "iosxe": { + "class": "ShowControllerEthernetControllerInterfaceMac", + "doc": "\n ShowControllerEthernetControllerInterfaceMac\n ", + "module_name": "iosxe.show_controller", + "package": "genie.libs.parser", + "schema": "{\n 'npu_pdsf_procagent_get_eye_common': str,\n 'mpp_port_detai1': {\n Any('*'): {\n 'mac_state_histogram': {\n Any('*'): Or (, ),\n },\n 'mac_port_config': {\n Any('*'): Or (, ),\n },\n 'mac_port_status': {\n Any('*'): Or (, ),\n },\n 'mib_counters': {\n Any('*'): Or (, ),\n },\n Optional('state_transition_history'): {\n Any('*'): {\n 'state': str,\n 'timestamp': str,\n },\n },\n },\n },\n 'multiport_detail': {\n Any('*'): {\n 'device_info': {\n Any('*'): str,\n },\n 'mac_state_histogram': {\n Any('*'): Or (, ),\n 'serdes_0': {\n Any('*'): Or (, ),\n },\n },\n 'mac_port_config': {\n Any('*'): Or (, ),\n 'serdes_info': {\n Any('*'): Or (, ),\n },\n },\n 'mac_port_status': {\n 'am_lock': {\n Any('*'): str,\n },\n Any('*'): Or (, ),\n 'mac_pcs_lane_mapping': {\n Any('*'): Or (, ),\n },\n },\n 'mac_port_soft_state': {\n Any('*'): Or (, ),\n },\n 'mib_counters': {\n Any('*'): Or (, ),\n Optional('tx_mac_tc_fc_frames_ok'): {\n Any('*'): Or (, ),\n },\n Optional('tx_xoff_state_duration'): {\n Any('*'): Or (, ),\n },\n Optional('rx_mac_tc_fc_frames_ok'): {\n Any('*'): Or (, ),\n },\n Optional('rx_xoff_state_duration'): {\n Any('*'): Or (, ),\n },\n },\n 'test_mode': {\n Any('*'): Or (, ),\n },\n 'state_transition_history': {\n Any('*'): {\n 'state': str,\n 'timestamp': str,\n },\n },\n 'serdes_parameters': {\n 'index_0': {\n Any('*'): Or (, ),\n },\n },\n 'serdes_config': {\n 'serdes_settings': {\n 'rx_settings': {\n Any('*'): Or (, ),\n 'targ_shadow': {\n Any('*'): Or (, ),\n },\n },\n 'tx_settings': {\n Any('*'): Or (, ),\n 'tx_fir': {\n Any('*'): Or (, ),\n },\n },\n 'flow_chart_settings': {\n Any('*'): Or (, ),\n },\n },\n },\n 'serdes_status': {\n 'firmware_version': {\n Any('*'): str,\n },\n 'rx_status': {\n Any('*'): Or (, ),\n 'firs': {\n Any('*'): Or (, ),\n },\n },\n 'fw_rx_status': {\n Any('*'): Or (, ),\n },\n 'fir_shadow': {\n Any('*'): Or (, ),\n },\n },\n 'eye_capture': {\n 'veye_data': {\n Any('*'): Or (, ),\n 'veye_values': {\n Any('*'): Or (, ),\n },\n },\n },\n 'reg_dump': {\n 'quad_reg': {\n Any('*'): Or (, ),\n },\n 'p_reg': {\n Any('*'): Or (, ),\n },\n 's_reg': {\n Any('*'): Or (, ),\n },\n 'rxdtop': {\n Any('*'): Or (, ),\n },\n 'txdtop': {\n Any('*'): Or (, ),\n },\n 'autoneg': {\n Any('*'): Or (, ),\n },\n 'linktraining': {\n Any('*'): Or (, ),\n },\n 'rx_sts': {\n Any('*'): Or (, ),\n },\n 'an_debug_1': {\n Any('*'): Or (, ),\n },\n 'an_debug_2': {\n Any('*'): Or (, ),\n },\n 'lt_debug_1': {\n Any('*'): Or (, ),\n },\n 'lt_debug_2': {\n Any('*'): Or (, ),\n },\n },\n },\n },\n 'mac_port_link_down': {\n Any('*'): {\n Any('*'): Or (, ),\n 'rx_deskew_fifo_overflow_count': {\n Any('*'): Or (, ),\n },\n 'rx_pma_sig_ok_loss_interrupt_register_count': {\n Any('*'): Or (, ),\n },\n },\n },\n 'mac_port_link_error': {\n Any('*'): {\n Any('*'): Or (, ),\n },\n },\n 'mac_port_link_debounce': {\n Any('*'): {\n Any('*'): Or (, ),\n },\n },\n 'port': int,\n Optional('slot'): int,\n 'cmd': str,\n 'rc': str,\n Optional('rsn'): str,\n Optional('reason'): str,\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_controllers_ethernet-controller_interface_mac", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_controller.py#L1994" + } + } + }, "show controllers ethernet-controller {interface} phy detail": { "folders": { "iosxe": { @@ -20915,7 +20931,7 @@ "os": "iosxe" }, "uid": "show_controllers_ethernet-controller_interface_port-info", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_controller.py#L1584" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_controller.py#L1585" } } }, @@ -24536,7 +24552,7 @@ "os": "iosxe" }, "uid": "show_diagnostic_status", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L7666" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L7676" } } }, @@ -24700,6 +24716,38 @@ } } }, + "show dns-lookup cache": { + "folders": { + "iosxe": { + "class": "ShowDnsLookup", + "doc": " Parse for:\n * 'show dns-lookup cache'\n * 'show dns-lookup hostname {hostname}'\n *\n ", + "module_name": "iosxe.show_dns_lookup", + "package": "genie.libs.parser", + "schema": "{\n 'total_number_of_jobs': int,\n Optional('job_id'): {\n Any('*'): {\n Optional('status'): str,\n Optional('request_info'): {\n Optional('vrf_name'): str,\n Optional('host_name'): str,\n Optional('dns_server'): str,\n },\n Optional('request_time'): str,\n Optional('completion_time'): str,\n Optional('error_code'): str,\n Optional('dns_response'): {\n Any('*'): {\n Optional('dns_id'): int,\n Optional('dns_flags'): str,\n Optional('dns_qdcnt'): int,\n Optional('dns_ancnt'): int,\n Optional('dns_nscnt'): int,\n Optional('dns_arcnt'): int,\n Optional('dns_class'): str,\n Optional('dns_type'): str,\n Optional('dns_rtt'): str,\n Optional('dns_payload_size'): int,\n Optional('dns_ip'): {\n Any('*'): {\n Optional('dns_ttl'): int,\n },\n },\n },\n },\n },\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_dns-lookup_cache", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_dns_lookup.py#L83" + } + } + }, + "show dns-lookup hostname {hostname}": { + "folders": { + "iosxe": { + "class": "ShowDnsLookup", + "doc": " Parse for:\n * 'show dns-lookup cache'\n * 'show dns-lookup hostname {hostname}'\n *\n ", + "module_name": "iosxe.show_dns_lookup", + "package": "genie.libs.parser", + "schema": "{\n 'total_number_of_jobs': int,\n Optional('job_id'): {\n Any('*'): {\n Optional('status'): str,\n Optional('request_info'): {\n Optional('vrf_name'): str,\n Optional('host_name'): str,\n Optional('dns_server'): str,\n },\n Optional('request_time'): str,\n Optional('completion_time'): str,\n Optional('error_code'): str,\n Optional('dns_response'): {\n Any('*'): {\n Optional('dns_id'): int,\n Optional('dns_flags'): str,\n Optional('dns_qdcnt'): int,\n Optional('dns_ancnt'): int,\n Optional('dns_nscnt'): int,\n Optional('dns_arcnt'): int,\n Optional('dns_class'): str,\n Optional('dns_type'): str,\n Optional('dns_rtt'): str,\n Optional('dns_payload_size'): int,\n Optional('dns_ip'): {\n Any('*'): {\n Optional('dns_ttl'): int,\n },\n },\n },\n },\n },\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_dns-lookup_hostname_hostname", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_dns_lookup.py#L83" + } + } + }, "show dot1x": { "folders": { "ios": { @@ -25374,7 +25422,7 @@ "os": "iosxe" }, "uid": "show_environment", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4434" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4433" }, "nxos": { "class": "ShowEnvironment", @@ -25671,7 +25719,7 @@ "os": "iosxe" }, "uid": "show_environment_status", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5992" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5991" } } }, @@ -25752,7 +25800,7 @@ "os": "iosxe" }, "uid": "show_environment___include_include", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4434" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4433" } } }, @@ -27206,7 +27254,7 @@ "os": "iosxe" }, "uid": "show_file_descriptors_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9103" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9102" } } }, @@ -27222,7 +27270,7 @@ "os": "iosxe" }, "uid": "show_file_information_file", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9056" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9055" } } }, @@ -27238,7 +27286,7 @@ "os": "iosxe" }, "uid": "show_file_systems", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7420" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7419" } } }, @@ -27943,7 +27991,7 @@ "os": "iosxe" }, "uid": "show_graceful-reload", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8991" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8990" } } }, @@ -28552,12 +28600,12 @@ "doc": null, "module_name": "iosxe.cat9k.c9400.show_idprom", "package": "genie.libs.parser", - "schema": "{\n 'idprom': {\n 'midplane': {\n 'controller_type': int,\n 'hardware_revision': str,\n 'top_assy_part_number': str,\n 'top_assy_revision': str,\n 'deviation_number': str,\n 'pcb_serial_number': str,\n 'chassis_serial_number': str,\n 'rma_test_history': str,\n 'rma_number': str,\n 'rma_history': str,\n 'clei_code': str,\n 'eci_number': str,\n 'pid': str,\n 'vid': str,\n 'chassis_mac_address': str,\n },\n 'supervisor': {\n Any('*'): {\n 'controller_type': int,\n 'hardware_revision': str,\n 'top_assy_part_number': str,\n 'top_assy_revision': str,\n 'deviation_number': str,\n 'pcb_serial_number': str,\n 'rma_test_history': str,\n 'rma_number': str,\n 'rma_history': str,\n 'clei_code': str,\n 'eci_number': str,\n 'pid': str,\n 'vid': str,\n 'manufacturing_test_data': str,\n 'base_mac_address': str,\n 'field_diagnostics_data': str,\n 'environment_monitor_data': str,\n 'max_power_requirement_watts': int,\n 'typical_power_requirement_watts': int,\n },\n },\n 'module': {\n Any('*'): {\n 'controller_type': int,\n 'hardware_revision': str,\n 'top_assy_part_number': str,\n 'top_assy_revision': str,\n 'deviation_number': str,\n 'pcb_serial_number': str,\n 'rma_test_history': str,\n 'rma_number': str,\n 'rma_history': str,\n 'clei_code': str,\n 'eci_number': str,\n 'pid': str,\n 'vid': str,\n 'manufacturing_test_data': str,\n 'base_mac_address': str,\n 'field_diagnostics_data': str,\n 'environment_monitor_data': str,\n 'max_power_requirement_watts': int,\n 'typical_power_requirement_watts': int,\n },\n },\n 'fantray': {\n 'controller_type': int,\n 'hardware_revision': str,\n 'top_assy_part_number': str,\n 'top_assy_revision': str,\n 'deviation_number': str,\n 'pcb_serial_number': str,\n 'chassis_serial_number': str,\n 'rma_test_history': str,\n 'rma_number': str,\n 'rma_history': str,\n 'clei_code': str,\n 'eci_number': str,\n 'pid': str,\n 'vid': str,\n 'manufacturing_test_data': str,\n 'field_diagnostics_data': str,\n 'environment_monitor_data': str,\n },\n 'power_supply': {\n Any('*'): {\n 'controller_type': int,\n 'hardware_revision': str,\n 'top_assy_part_number': str,\n 'top_assy_revision': str,\n 'deviation_number': str,\n 'pcb_serial_number': str,\n 'rma_test_history': str,\n 'rma_number': str,\n 'rma_history': str,\n 'clei_code': str,\n 'eci_number': str,\n 'pid': str,\n 'vid': str,\n 'power_supply_type': str,\n 'manufacturing_test_data': str,\n 'field_diagnostics_data': str,\n 'environment_monitor_data': str,\n 'max_power_output_at_220v': int,\n 'max_power_output_at_110v': int,\n },\n },\n },\n}", + "schema": "{\n 'idprom': {\n 'midplane': {\n Optional('controller_type'): int,\n Optional('hardware_revision'): str,\n Optional('top_assy_part_number'): str,\n Optional('top_assy_revision'): str,\n Optional('deviation_number'): str,\n Optional('pcb_serial_number'): str,\n Optional('chassis_serial_number'): str,\n Optional('rma_test_history'): str,\n Optional('rma_number'): str,\n Optional('rma_history'): str,\n Optional('clei_code'): str,\n Optional('eci_number'): str,\n Optional('pid'): str,\n Optional('vid'): str,\n Optional('chassis_mac_address'): str,\n },\n 'supervisor': {\n Any('*'): {\n Optional('controller_type'): int,\n Optional('hardware_revision'): str,\n Optional('top_assy_part_number'): str,\n Optional('top_assy_revision'): str,\n Optional('deviation_number'): str,\n Optional('pcb_serial_number'): str,\n Optional('rma_test_history'): str,\n Optional('rma_number'): str,\n Optional('rma_history'): str,\n Optional('clei_code'): str,\n Optional('eci_number'): str,\n Optional('pid'): str,\n Optional('vid'): str,\n Optional('manufacturing_test_data'): str,\n Optional('base_mac_address'): str,\n Optional('field_diagnostics_data'): str,\n Optional('environment_monitor_data'): str,\n Optional('max_power_requirement_watts'): int,\n Optional('typical_power_requirement_watts'): int,\n },\n },\n 'module': {\n Any('*'): {\n Optional('controller_type'): int,\n Optional('hardware_revision'): str,\n Optional('top_assy_part_number'): str,\n Optional('top_assy_revision'): str,\n Optional('deviation_number'): str,\n Optional('pcb_serial_number'): str,\n Optional('rma_test_history'): str,\n Optional('rma_number'): str,\n Optional('rma_history'): str,\n Optional('clei_code'): str,\n Optional('eci_number'): str,\n Optional('pid'): str,\n Optional('vid'): str,\n Optional('manufacturing_test_data'): str,\n Optional('base_mac_address'): str,\n Optional('field_diagnostics_data'): str,\n Optional('environment_monitor_data'): str,\n Optional('max_power_requirement_watts'): int,\n Optional('typical_power_requirement_watts'): int,\n },\n },\n 'fantray': {\n Optional('controller_type'): int,\n Optional('hardware_revision'): str,\n Optional('top_assy_part_number'): str,\n Optional('top_assy_revision'): str,\n Optional('deviation_number'): str,\n Optional('pcb_serial_number'): str,\n Optional('chassis_serial_number'): str,\n Optional('rma_test_history'): str,\n Optional('rma_number'): str,\n Optional('rma_history'): str,\n Optional('clei_code'): str,\n Optional('eci_number'): str,\n Optional('pid'): str,\n Optional('vid'): str,\n Optional('manufacturing_test_data'): str,\n Optional('field_diagnostics_data'): str,\n Optional('environment_monitor_data'): str,\n },\n 'power_supply': {\n Any('*'): {\n Optional('controller_type'): int,\n Optional('hardware_revision'): str,\n Optional('top_assy_part_number'): str,\n Optional('top_assy_revision'): str,\n Optional('deviation_number'): str,\n Optional('pcb_serial_number'): str,\n Optional('rma_test_history'): str,\n Optional('rma_number'): str,\n Optional('rma_history'): str,\n Optional('clei_code'): str,\n Optional('eci_number'): str,\n Optional('pid'): str,\n Optional('vid'): str,\n Optional('power_supply_type'): str,\n Optional('manufacturing_test_data'): str,\n Optional('field_diagnostics_data'): str,\n Optional('environment_monitor_data'): str,\n Optional('max_power_output_at_220v'): int,\n Optional('max_power_output_at_110v'): int,\n },\n },\n },\n}", "tokens": { "model": "c9400" }, "uid": "show_idprom_all", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9400/show_idprom.py#L126" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9400/show_idprom.py#L124" } }, "tokens": { @@ -28576,6 +28624,36 @@ } } }, + "show idprom all eeprom": { + "folders": { + "iosxe": { + "folders": { + "cat9k": { + "folders": { + "c9610": { + "class": "ShowIdpromEeprom", + "doc": "Parser for 'show idprom all eeprom'", + "module_name": "iosxe.cat9k.c9610.show_idprom", + "package": "genie.libs.parser", + "schema": "{\n 'midplane': {\n 'pid': str,\n 'vid': str,\n 'pcb_serial_number': str,\n 'top_assy_revision': str,\n 'hardware_revision': str,\n Optional('clei_code'): str,\n },\n 'power_fan_module': {\n Any('*'): {\n 'pid': str,\n 'vid': str,\n 'pcb_serial_number': str,\n 'top_assy_revision': str,\n 'hardware_revision': str,\n Optional('clei_code'): str,\n },\n },\n 'slot': {\n Any('*'): {\n 'pid': str,\n 'vid': str,\n 'pcb_serial_number': str,\n 'top_assy_revision': str,\n 'hardware_revision': str,\n Optional('clei_code'): str,\n },\n },\n 'spa': {\n Any('*'): {\n 'pid': str,\n 'vid': str,\n 'pcb_serial_number': str,\n 'top_assy_revision': str,\n 'hardware_revision': str,\n 'clei_code': str,\n },\n },\n}", + "tokens": { + "model": "c9610" + }, + "uid": "show_idprom_all_eeprom", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_idprom.py#L55" + } + }, + "tokens": { + "platform": "cat9k" + } + } + }, + "tokens": { + "os": "iosxe" + } + } + } + }, "show idprom interface {interface}": { "folders": { "iosxe": { @@ -33840,7 +33918,7 @@ "os": "iosxe" }, "uid": "show_ip_igmp_groups", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_igmp.py#L1221" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_igmp.py#L1231" }, "nxos": { "class": "ShowIpIgmpGroups", @@ -33968,7 +34046,7 @@ "os": "nxos" }, "uid": "show_ip_igmp_local-groups", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_igmp.py#L1052" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_igmp.py#L1051" } } }, @@ -33984,7 +34062,7 @@ "os": "nxos" }, "uid": "show_ip_igmp_local-groups_vrf_vrf", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_igmp.py#L1052" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_igmp.py#L1051" } } }, @@ -34025,9 +34103,30 @@ "iosxe": { "class": "ShowIpIgmpSnoopingGroups", "doc": "\n Parser for 'show ip igmp snooping groups'\n ", + "folders": { + "cat9k": { + "folders": { + "c9500": { + "class": "ShowIpIgmpSnoopingGroups", + "doc": "\n Parser for 'show ip igmp snooping groups'\n ", + "module_name": "iosxe.cat9k.c9500.show_igmp", + "package": "genie.libs.parser", + "schema": "{\n 'igmp_groups': {\n Any('*'): {\n Optional('vlan_id'): str,\n Optional('type'): str,\n Optional('version'): str,\n Optional('port'): str,\n },\n },\n}", + "tokens": { + "model": "c9500" + }, + "uid": "show_ip_igmp_snooping_groups", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9500/show_igmp.py#L39" + } + }, + "tokens": { + "platform": "cat9k" + } + } + }, "module_name": "iosxe.show_igmp", "package": "genie.libs.parser", - "schema": "{\n 'igmp_groups': {\n Any('*'): {\n 'vlan_id': str,\n 'type': str,\n 'version': str,\n 'port': str,\n },\n },\n}", + "schema": "{\n 'igmp_groups': {\n Any('*'): {\n Optional('vlan_id'): str,\n Optional('type'): str,\n Optional('version'): str,\n Optional('port'): str,\n },\n },\n}", "tokens": { "os": "iosxe" }, @@ -34048,7 +34147,7 @@ "os": "iosxe" }, "uid": "show_ip_igmp_snooping_groups_count", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_igmp.py#L1129" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_igmp.py#L1139" } } }, @@ -34064,7 +34163,7 @@ "os": "iosxe" }, "uid": "show_ip_igmp_snooping_groups_vlan_vlan_group", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_igmp.py#L1545" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_igmp.py#L1555" } } }, @@ -34080,7 +34179,7 @@ "os": "iosxe" }, "uid": "show_ip_igmp_snooping_groups_vlan_vlan_group_hosts", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_igmp.py#L1044" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_igmp.py#L1054" } } }, @@ -34096,7 +34195,7 @@ "os": "iosxe" }, "uid": "show_ip_igmp_snooping_groups_vlan_vlan_group_sources", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_igmp.py#L962" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_igmp.py#L972" } } }, @@ -34128,7 +34227,7 @@ "os": "iosxe" }, "uid": "show_ip_igmp_snooping_mrouter_vlan_vlan", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_igmp.py#L1264" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_igmp.py#L1274" } } }, @@ -34160,7 +34259,7 @@ "os": "iosxe" }, "uid": "show_ip_igmp_snooping_querier_vlan_vlan_id_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_igmp.py#L1336" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_igmp.py#L1346" } } }, @@ -34248,7 +34347,7 @@ "os": "iosxe" }, "uid": "show_ip_igmp_vrf_vrf_groups", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_igmp.py#L1089" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_igmp.py#L1099" } } }, @@ -34320,7 +34419,7 @@ "os": "iosxe" }, "uid": "show_ip_igmp_vrf_vrf_snooping_groups", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_igmp.py#L1168" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_igmp.py#L1178" } } }, @@ -36187,7 +36286,7 @@ "doc": "Parser for:\n * show ip nbar version", "module_name": "iosxe.show_ip", "package": "genie.libs.parser", - "schema": "{\n 'nbar_software_version': str,\n 'nbar_minimum_backward_compatible_version': str,\n 'loaded_protocol_packs': {\n Any('*'): {\n 'version': {\n Any('*'): {\n 'file': str,\n 'publisher': str,\n 'creation_time': str,\n 'nbar_engine_version': str,\n 'state': str,\n },\n },\n },\n },\n}", + "schema": "{\n 'nbar_software_version': str,\n 'nbar_minimum_backward_compatible_version': str,\n 'loaded_protocol_packs': {\n Any('*'): {\n 'version': {\n Any('*'): {\n Optional('file'): str,\n 'publisher': str,\n Optional('creation_time'): str,\n 'nbar_engine_version': str,\n 'state': str,\n },\n },\n },\n },\n}", "tokens": { "os": "iosxe" }, @@ -37820,7 +37919,7 @@ "os": "nxos" }, "uid": "show_ip_pim_df", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L1612" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L1613" } } }, @@ -37836,7 +37935,7 @@ "os": "nxos" }, "uid": "show_ip_pim_df_vrf_vrf", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L1612" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L1613" } } }, @@ -37852,7 +37951,7 @@ "os": "nxos" }, "uid": "show_ip_pim_group-range", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L3128" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L3129" } } }, @@ -37868,7 +37967,7 @@ "os": "nxos" }, "uid": "show_ip_pim_group-range_vrf_vrf", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L3128" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L3129" } } }, @@ -37908,7 +38007,7 @@ "os": "nxos" }, "uid": "show_ip_pim_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L3517" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L3518" } } }, @@ -37980,7 +38079,7 @@ "os": "nxos" }, "uid": "show_ip_pim_interface_vrf_vrf", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L3517" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L3518" } } }, @@ -37996,7 +38095,7 @@ "os": "nxos" }, "uid": "show_ip_pim_interface_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L3517" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L3518" } } }, @@ -38012,7 +38111,7 @@ "os": "nxos" }, "uid": "show_ip_pim_interface_interface_vrf_vrf", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L3517" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L3518" } } }, @@ -38052,7 +38151,7 @@ "os": "nxos" }, "uid": "show_ip_pim_neighbor", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L2652" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L2653" } } }, @@ -38068,7 +38167,7 @@ "os": "nxos" }, "uid": "show_ip_pim_neighbor_vrf_vrf", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L2652" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L2653" } } }, @@ -38084,7 +38183,7 @@ "os": "nxos" }, "uid": "show_ip_pim_policy_statistics_register-policy", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L3255" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L3256" } } }, @@ -38100,7 +38199,7 @@ "os": "nxos" }, "uid": "show_ip_pim_policy_statistics_register-policy_vrf_vrf", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L3255" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L3256" } } }, @@ -38116,7 +38215,7 @@ "os": "nxos" }, "uid": "show_ip_pim_route", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L2285" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L2286" } } }, @@ -38132,7 +38231,7 @@ "os": "nxos" }, "uid": "show_ip_pim_route_vrf_vrf", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L2285" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L2286" } } }, @@ -38192,7 +38291,7 @@ "os": "nxos" }, "uid": "show_ip_pim_vrf_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L2814" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L2815" } } }, @@ -38252,7 +38351,7 @@ "os": "nxos" }, "uid": "show_ip_pim_vrf_vrf_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L2814" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L2815" } } }, @@ -41098,7 +41197,7 @@ "os": "nxos" }, "uid": "show_ipv6_mld_local-groups", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_mld.py#L743" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_mld.py#L734" } } }, @@ -41114,7 +41213,7 @@ "os": "nxos" }, "uid": "show_ipv6_mld_local-groups_vrf_vrf", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_mld.py#L743" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_mld.py#L734" } } }, @@ -42410,7 +42509,7 @@ "os": "nxos" }, "uid": "show_ipv6_pim_df", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L1417" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L1418" } } }, @@ -42426,7 +42525,7 @@ "os": "nxos" }, "uid": "show_ipv6_pim_df_vrf_vrf", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L1417" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L1418" } } }, @@ -42442,7 +42541,7 @@ "os": "nxos" }, "uid": "show_ipv6_pim_group-range", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L2528" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L2529" } } }, @@ -42458,7 +42557,7 @@ "os": "nxos" }, "uid": "show_ipv6_pim_group-range_vrf_vrf", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L2528" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L2529" } } }, @@ -42586,7 +42685,7 @@ "os": "nxos" }, "uid": "show_ipv6_pim_neighbor", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L2076" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L2077" } } }, @@ -42630,7 +42729,7 @@ "os": "nxos" }, "uid": "show_ipv6_pim_neighbor_vrf_vrf", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L2076" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L2077" } } }, @@ -42646,7 +42745,7 @@ "os": "nxos" }, "uid": "show_ipv6_pim_route", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L1812" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L1813" } } }, @@ -42662,7 +42761,7 @@ "os": "nxos" }, "uid": "show_ipv6_pim_route_vrf_vrf", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L1812" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L1813" } } }, @@ -42678,7 +42777,7 @@ "os": "nxos" }, "uid": "show_ipv6_pim_vrf_all_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L4105" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L4106" } } }, @@ -52409,15 +52508,15 @@ "folders": { "iosxr": { "class": "ShowLacp", - "doc": "parser for \n show lacp\n show lacp \n ", + "doc": "parser for\n show lacp\n show lacp \n ", "module_name": "iosxr.show_lag", "package": "genie.libs.parser", - "schema": "{\n 'interfaces': {\n Any('*'): {\n 'name': str,\n 'bundle_id': int,\n 'lacp_mode': str,\n 'port': {\n Any('*'): {\n 'interface': str,\n 'bundle_id': int,\n 'rate': int,\n 'state': str,\n 'port_id': str,\n 'key': str,\n 'system_id': str,\n 'synchronization': str,\n 'aggregatable': bool,\n 'collecting': bool,\n 'distributing': bool,\n 'partner': {\n 'rate': int,\n 'state': str,\n 'port_id': str,\n 'key': str,\n 'system_id': str,\n 'synchronization': str,\n 'aggregatable': bool,\n 'collecting': bool,\n 'distributing': bool,\n },\n 'receive': str,\n 'period': str,\n 'selection': str,\n 'mux': str,\n 'a_churn': str,\n 'p_churn': str,\n },\n },\n },\n },\n}", + "schema": "{\n 'interfaces': {\n Any('*'): {\n 'name': str,\n 'bundle_id': int,\n 'lacp_mode': str,\n Optional('iccp_group'): int,\n 'port': {\n Any('*'): {\n 'interface': str,\n 'bundle_id': int,\n Optional('rate'): int,\n 'state': str,\n 'port_id': str,\n 'key': str,\n 'system_id': str,\n 'synchronization': str,\n 'aggregatable': bool,\n 'collecting': bool,\n 'distributing': bool,\n 'partner': {\n Optional('rate'): int,\n 'state': str,\n 'port_id': str,\n 'key': str,\n 'system_id': str,\n 'synchronization': str,\n 'aggregatable': bool,\n 'collecting': bool,\n 'distributing': bool,\n },\n 'receive': str,\n 'period': str,\n 'selection': str,\n 'mux': str,\n 'a_churn': str,\n 'p_churn': str,\n },\n },\n },\n },\n}", "tokens": { "os": "iosxr" }, "uid": "show_lacp", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_lag.py#L650" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_lag.py#L651" } } }, @@ -52737,15 +52836,15 @@ "folders": { "iosxr": { "class": "ShowLacp", - "doc": "parser for \n show lacp\n show lacp \n ", + "doc": "parser for\n show lacp\n show lacp \n ", "module_name": "iosxr.show_lag", "package": "genie.libs.parser", - "schema": "{\n 'interfaces': {\n Any('*'): {\n 'name': str,\n 'bundle_id': int,\n 'lacp_mode': str,\n 'port': {\n Any('*'): {\n 'interface': str,\n 'bundle_id': int,\n 'rate': int,\n 'state': str,\n 'port_id': str,\n 'key': str,\n 'system_id': str,\n 'synchronization': str,\n 'aggregatable': bool,\n 'collecting': bool,\n 'distributing': bool,\n 'partner': {\n 'rate': int,\n 'state': str,\n 'port_id': str,\n 'key': str,\n 'system_id': str,\n 'synchronization': str,\n 'aggregatable': bool,\n 'collecting': bool,\n 'distributing': bool,\n },\n 'receive': str,\n 'period': str,\n 'selection': str,\n 'mux': str,\n 'a_churn': str,\n 'p_churn': str,\n },\n },\n },\n },\n}", + "schema": "{\n 'interfaces': {\n Any('*'): {\n 'name': str,\n 'bundle_id': int,\n 'lacp_mode': str,\n Optional('iccp_group'): int,\n 'port': {\n Any('*'): {\n 'interface': str,\n 'bundle_id': int,\n Optional('rate'): int,\n 'state': str,\n 'port_id': str,\n 'key': str,\n 'system_id': str,\n 'synchronization': str,\n 'aggregatable': bool,\n 'collecting': bool,\n 'distributing': bool,\n 'partner': {\n Optional('rate'): int,\n 'state': str,\n 'port_id': str,\n 'key': str,\n 'system_id': str,\n 'synchronization': str,\n 'aggregatable': bool,\n 'collecting': bool,\n 'distributing': bool,\n },\n 'receive': str,\n 'period': str,\n 'selection': str,\n 'mux': str,\n 'a_churn': str,\n 'p_churn': str,\n },\n },\n },\n },\n}", "tokens": { "os": "iosxr" }, "uid": "show_lacp_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_lag.py#L650" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_lag.py#L651" } } }, @@ -55817,7 +55916,7 @@ "doc": " Parser for \"show lisp all extranet instance-id \"", "module_name": "ios.show_lisp", "package": "genie.libs.parser", - "schema": "{\n 'lisp_id': {\n '': {\n 'home_instance': int,\n 'total': int,\n Optional('eid_prefix'): {\n '': {\n 'type': str,\n 'source': str,\n 'iid': int,\n 'eid': str,\n 'mask': int,\n },\n },\n },\n },\n}", + "schema": "{\n 'lisp_id': {\n '': {\n Optional('home_instance'): int,\n Optional('total'): int,\n Optional('eid_prefix'): {\n '': {\n 'type': str,\n 'source': str,\n 'iid': int,\n 'eid': str,\n 'mask': int,\n },\n },\n },\n },\n}", "tokens": { "os": "ios" }, @@ -55829,7 +55928,7 @@ "doc": " Parser for\n * show lisp extranet {extranet_name} instance-id {instance_id}\n * show lisp {lisp_id} extranet {extranet_name} instance-id {instance_id}\n ", "module_name": "iosxe.show_lisp", "package": "genie.libs.parser", - "schema": "{\n 'lisp_id': {\n '': {\n 'home_instance': int,\n 'total': int,\n Optional('eid_prefix'): {\n '': {\n 'type': str,\n 'source': str,\n 'iid': int,\n 'eid': str,\n 'mask': int,\n },\n },\n },\n },\n}", + "schema": "{\n 'lisp_id': {\n '': {\n Optional('home_instance'): int,\n Optional('total'): int,\n Optional('eid_prefix'): {\n '': {\n 'type': str,\n 'source': str,\n 'iid': int,\n 'eid': str,\n 'mask': int,\n },\n },\n },\n },\n}", "tokens": { "os": "iosxe" }, @@ -60437,7 +60536,7 @@ "doc": " Parser for \"show lisp all extranet instance-id \"", "module_name": "ios.show_lisp", "package": "genie.libs.parser", - "schema": "{\n 'lisp_id': {\n '': {\n 'home_instance': int,\n 'total': int,\n Optional('eid_prefix'): {\n '': {\n 'type': str,\n 'source': str,\n 'iid': int,\n 'eid': str,\n 'mask': int,\n },\n },\n },\n },\n}", + "schema": "{\n 'lisp_id': {\n '': {\n Optional('home_instance'): int,\n Optional('total'): int,\n Optional('eid_prefix'): {\n '': {\n 'type': str,\n 'source': str,\n 'iid': int,\n 'eid': str,\n 'mask': int,\n },\n },\n },\n },\n}", "tokens": { "os": "ios" }, @@ -60449,7 +60548,7 @@ "doc": " Parser for\n * show lisp extranet {extranet_name} instance-id {instance_id}\n * show lisp {lisp_id} extranet {extranet_name} instance-id {instance_id}\n ", "module_name": "iosxe.show_lisp", "package": "genie.libs.parser", - "schema": "{\n 'lisp_id': {\n '': {\n 'home_instance': int,\n 'total': int,\n Optional('eid_prefix'): {\n '': {\n 'type': str,\n 'source': str,\n 'iid': int,\n 'eid': str,\n 'mask': int,\n },\n },\n },\n },\n}", + "schema": "{\n 'lisp_id': {\n '': {\n Optional('home_instance'): int,\n Optional('total'): int,\n Optional('eid_prefix'): {\n '': {\n 'type': str,\n 'source': str,\n 'iid': int,\n 'eid': str,\n 'mask': int,\n },\n },\n },\n },\n}", "tokens": { "os": "iosxe" }, @@ -69799,12 +69898,12 @@ "doc": " Parser for \"show omp peers\" ", "module_name": "viptela.show_omp", "package": "genie.libs.parser", - "schema": "{\n 'peer': {\n Any('*'): {\n 'type': str,\n 'domain_id': int,\n 'overlay_id': int,\n 'site_id': int,\n 'state': str,\n 'uptime': str,\n 'route': {\n 'recv': int,\n 'install': int,\n 'sent': int,\n },\n },\n },\n}", + "schema": "{\n 'peer': {\n Any('*'): {\n Optional('tenant'): str,\n 'type': str,\n 'domain_id': int,\n 'overlay_id': int,\n 'site_id': int,\n Optional('region_id'): str,\n 'state': str,\n 'uptime': str,\n 'route': {\n 'recv': int,\n 'install': int,\n 'sent': int,\n },\n },\n },\n}", "tokens": { "os": "viptela" }, "uid": "show_omp_peers", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/viptela/show_omp.py#L186" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/viptela/show_omp.py#L188" } } }, @@ -69820,7 +69919,7 @@ "os": "viptela" }, "uid": "show_omp_routes", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/viptela/show_omp.py#L448" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/viptela/show_omp.py#L460" } } }, @@ -69836,7 +69935,7 @@ "os": "viptela" }, "uid": "show_omp_routes_family_af_vpn_vpn", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/viptela/show_omp.py#L448" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/viptela/show_omp.py#L460" } } }, @@ -69852,7 +69951,7 @@ "os": "viptela" }, "uid": "show_omp_routes_vpn_vpn", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/viptela/show_omp.py#L448" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/viptela/show_omp.py#L460" } } }, @@ -69868,7 +69967,7 @@ "os": "viptela" }, "uid": "show_omp_routes_prefix", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/viptela/show_omp.py#L448" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/viptela/show_omp.py#L460" } } }, @@ -69884,7 +69983,7 @@ "os": "viptela" }, "uid": "show_omp_routes_prefix_vpn_vpn", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/viptela/show_omp.py#L448" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/viptela/show_omp.py#L460" } } }, @@ -69932,7 +70031,7 @@ "os": "viptela" }, "uid": "show_omp_tlocs", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/viptela/show_omp.py#L284" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/viptela/show_omp.py#L296" } } }, @@ -73065,7 +73164,7 @@ "os": "iosxe" }, "uid": "show_plaform_software_fed_switch_switch_num_acl_usage", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9378" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9377" } } }, @@ -73102,7 +73201,7 @@ "os": "iosxe" }, "uid": "show_plaform_software_fed_switch_switch_num_acl_usage___include_acl_name", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9378" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9377" } } }, @@ -73227,7 +73326,7 @@ "os": "iosxe" }, "uid": "show_platform_authentication_sbinfo_interface_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7565" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7564" } } }, @@ -73238,12 +73337,12 @@ "doc": "\n show platform frontend-controller version 0 \n ", "module_name": "iosxe.show_platform", "package": "genie.libs.parser", - "schema": null, + "schema": "{\n 'switch_number': int,\n 'software_version': str,\n 'system_type': int,\n 'device_id': int,\n 'device_revision': int,\n 'hardware_version': int,\n 'bootloader_version': int,\n}", "tokens": { "os": "iosxe" }, "uid": "show_platform_frontend-controller_version_0_switch_num", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9570" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9580" } } }, @@ -73550,7 +73649,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_fed_active_fwd-asic_resource_rewrite_utilization", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8032" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8031" } } }, @@ -73613,7 +73712,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_fed_active_fwd-asic_resource_tcam_table_pbr_record_0_format_0___begin_nat_region", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6162" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6161" } } }, @@ -73700,7 +73799,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_fed_active_fwd-asic_resource_tcam_utilization", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5502" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5501" } } }, @@ -74018,7 +74117,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_fed_switch_active_fwd-asic_resource_tcam_table_acl___begin_INPUT_NAT", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6446" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6445" } } }, @@ -74034,7 +74133,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_fed_switch_active_matm_macTable", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8155" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8154" } } }, @@ -74169,7 +74268,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_fed_switch_mode_fwd-asic_resource_tcam_utilization", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5502" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5501" } } }, @@ -74205,6 +74304,22 @@ } } }, + "show platform hardware fed switch {mode} xcvr {local_port} {phy} {mode_1} {device_num} {page_number} {register} {byte}": { + "folders": { + "iosxe": { + "class": "ShowPlatformHardwareFedXcvrRegisters", + "doc": "\n show platform hardware fed {switch} {mode} xcvr {local_port} {phy} {mode_1} {device_num} {page_number} {register} {bytes}\n ", + "module_name": "iosxe.show_platform_hardware", + "package": "genie.libs.parser", + "schema": "{\n 'phy_reg_value_hex': str,\n 'phy_reg_value_dec': int,\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_platform_hardware_fed_switch_mode_xcvr_local_port_phy_mode_1_device_num_page_number_register_byte", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L7064" + } + } + }, "show platform hardware fed switch {sw_number} qos queue config interface {interface} queue {queue_id} | include {match}": { "folders": { "iosxe": { @@ -74499,7 +74614,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_fed_switch_switch_type_fwd-asic_resource_tcam_table_pbr_record_0_format_0___begin_nat_region", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6162" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6161" } } }, @@ -74599,6 +74714,22 @@ } } }, + "show platform hardware fed {mode} npu slot 1 port {port_num} port-recreate": { + "folders": { + "iosxe": { + "class": "ShowPlatformHardwareFedSwitchActiveNpuSlotPortRecreate", + "doc": "\n show platform hardware fed switch {mode} npu slot 1 port {port_num} port-recreate\n ", + "module_name": "iosxe.show_platform_hardware", + "package": "genie.libs.parser", + "schema": "{\n 'port': str,\n 'operations': {\n Any('*'): str,\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_platform_hardware_fed_mode_npu_slot_1_port_port_num_port-recreate", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L7114" + } + } + }, "show platform hardware fed {mode} npu slot 1 port {port_num} prbs_cmd {num}": { "folders": { "iosxe": { @@ -74873,7 +75004,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_fed_switch_active_fwd-asic_resource_rewrite_utilization", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8032" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8031" } } }, @@ -74922,7 +75053,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_fed_switch_active_fwd-asic_resource_tcam_table_pbr_record_0_format_0___begin_nat_region", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6162" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6161" } } }, @@ -75057,7 +75188,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_fed_switch_mode_fwd-asic_resource_tcam_utilization", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5502" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5501" } } }, @@ -75077,6 +75208,22 @@ } } }, + "show platform hardware fed {switch} {mode} npu slot 1 port {port_num} port-recreate": { + "folders": { + "iosxe": { + "class": "ShowPlatformHardwareFedSwitchActiveNpuSlotPortRecreate", + "doc": "\n show platform hardware fed switch {mode} npu slot 1 port {port_num} port-recreate\n ", + "module_name": "iosxe.show_platform_hardware", + "package": "genie.libs.parser", + "schema": "{\n 'port': str,\n 'operations': {\n Any('*'): str,\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_platform_hardware_fed_switch_mode_npu_slot_1_port_port_num_port-recreate", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L7114" + } + } + }, "show platform hardware fed {switch} {mode} npu slot 1 port {port_num} prbs_cmd {num}": { "folders": { "iosxe": { @@ -76388,7 +76535,7 @@ "os": "iosxe" }, "uid": "show_platform_host-access-table_intf", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7799" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7798" } } }, @@ -76404,7 +76551,7 @@ "os": "iosxe" }, "uid": "show_platform_integrity", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5250" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5249" } } }, @@ -76420,7 +76567,7 @@ "os": "iosxe" }, "uid": "show_platform_integrity_sign_nonce_nonce", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5250" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5249" } } }, @@ -76436,7 +76583,7 @@ "os": "iosxe" }, "uid": "show_platform_integrity_signature", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5250" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5249" } } }, @@ -76468,7 +76615,7 @@ "os": "iosxe" }, "uid": "show_platform_nat_translations_active", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6368" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6367" } } }, @@ -76484,7 +76631,7 @@ "os": "iosxe" }, "uid": "show_platform_nat_translations_active_statistics", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6263" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6262" } } }, @@ -76500,7 +76647,7 @@ "os": "iosxe" }, "uid": "show_platform_packet-trace_packet_all", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7209" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7208" } } }, @@ -76516,7 +76663,7 @@ "os": "iosxe" }, "uid": "show_platform_packet-trace_packet_packet_id", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7209" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7208" } } }, @@ -76532,7 +76679,7 @@ "os": "iosxe" }, "uid": "show_platform_packet-trace_statistics", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6932" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6931" } } }, @@ -76548,7 +76695,7 @@ "os": "iosxe" }, "uid": "show_platform_packet-trace_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7026" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7025" } } }, @@ -76564,7 +76711,7 @@ "os": "iosxe" }, "uid": "show_platform_pm_etherchannel_ec_channel_group_id_group-mask", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9234" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9233" } } }, @@ -76580,7 +76727,7 @@ "os": "iosxe" }, "uid": "show_platform_pm_interface-numbers", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8379" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8378" } } }, @@ -76596,7 +76743,7 @@ "os": "iosxe" }, "uid": "show_platform_pm_port-data_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7890" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7889" } } }, @@ -76624,7 +76771,7 @@ "os": "iosxe" }, "uid": "show_platform_power", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4728" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4727" } } }, @@ -76640,7 +76787,7 @@ "os": "iosxe" }, "uid": "show_platform_resources", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5724" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5723" } } }, @@ -76656,7 +76803,7 @@ "os": "iosxe" }, "uid": "show_platform_soft_infra_bipc___inc_buffer", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3769" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3779" } } }, @@ -76672,7 +76819,7 @@ "os": "iosxe" }, "uid": "show_platform_software_access-list_switch_active_F0_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L5802" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L5812" } } }, @@ -76688,7 +76835,7 @@ "os": "iosxe" }, "uid": "show_platform_software_access-list_switch_mode_FP_switch_var_og-lkup-ids", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L5961" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L5971" } } }, @@ -76704,7 +76851,7 @@ "os": "iosxe" }, "uid": "show_platform_software_audit_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L5238" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L5248" } } }, @@ -76720,7 +76867,7 @@ "os": "iosxe" }, "uid": "show_platform_software_bp_crimson_content_config", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3426" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3436" } } }, @@ -76757,7 +76904,7 @@ "os": "iosxe" }, "uid": "show_platform_software_bp_crimson_statistics", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L4594" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L4604" } } }, @@ -76821,7 +76968,7 @@ "os": "iosxe" }, "uid": "show_platform_software_cpm_switch_mode_B0_control-info", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2600" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2610" } } }, @@ -76853,7 +77000,7 @@ "os": "iosxe" }, "uid": "show_platform_software_cpm_switch_mode_B0_counters_interface_isis", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L7805" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L7820" } } }, @@ -76869,7 +77016,7 @@ "os": "iosxe" }, "uid": "show_platform_software_cpm_switch_mode_B0_counters_interface_lacp", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L7728" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L7738" } } }, @@ -76885,7 +77032,7 @@ "os": "iosxe" }, "uid": "show_platform_software_cpm_switch_mode_B0_counters_punt-inject", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2136" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2141" } } }, @@ -76901,7 +77048,7 @@ "os": "iosxe" }, "uid": "show_platform_software_cpm_switch_mode_B0_ipc_brief", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2354" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2364" } } }, @@ -76917,7 +77064,7 @@ "os": "iosxe" }, "uid": "show_platform_software_cpm_switch_mode_B0_ipc_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2420" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2430" } } }, @@ -76933,7 +77080,71 @@ "os": "iosxe" }, "uid": "show_platform_software_cpm_switch_mode_B0_resource", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2678" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2688" + } + } + }, + "show platform software cpm switch {mode} BP {mode2} counters drop": { + "folders": { + "iosxe": { + "class": "ShowPlatformSoftwareCpmSwitchB0CountersDrop", + "doc": "Parser for show platform software cpm switch {mode} B0 counters drop", + "module_name": "iosxe.show_platform_software", + "package": "genie.libs.parser", + "schema": "{\n Any('*'): int,\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_platform_software_cpm_switch_mode_BP_mode2_counters_drop", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2069" + } + } + }, + "show platform software cpm switch {mode} BP {mode2} counters interface isis": { + "folders": { + "iosxe": { + "class": "ShowPlatformSoftwareCpmCountersInterfaceIsis", + "doc": "\n ShowPlatformSoftwareCpmSwitchActiveB0CountersInterfaceIsis\n ", + "module_name": "iosxe.show_platform_software", + "package": "genie.libs.parser", + "schema": "{\n 'traffic_detail': {\n Any('*'): {\n 'tx': int,\n 'rx': int,\n 'tx_drop': int,\n 'rx_drop': int,\n },\n },\n 'timestamp_now': str,\n 'interface': {\n Any('*'): {\n 'isis_rx_timestamp': {\n 'timestamp': dict,\n Optional('rx_max_time_gap'): str,\n Optional('rx_max_timestamp'): str,\n },\n 'isis_tx_timestamp': {\n 'timestamp': dict,\n Optional('tx_max_time_gap'): str,\n Optional('tx_max_timestamp'): str,\n },\n },\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_platform_software_cpm_switch_mode_BP_mode2_counters_interface_isis", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L7820" + } + } + }, + "show platform software cpm switch {mode} BP {mode2} counters interface lacp": { + "folders": { + "iosxe": { + "class": "ShowPlatformSoftwareCpmSwitchActiveB0CountersInterfaceLacp", + "doc": "\n ShowPlatformSoftwareCpmSwitchActiveB0CountersInterfaceLacp\n ", + "module_name": "iosxe.show_platform_software", + "package": "genie.libs.parser", + "schema": "{\n Any('*'): {\n 'tx': int,\n 'rx': int,\n 'tx_drop': int,\n 'rx_drop': int,\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_platform_software_cpm_switch_mode_BP_mode2_counters_interface_lacp", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L7738" + } + } + }, + "show platform software cpm switch {mode} BP {mode2} counters punt-inject": { + "folders": { + "iosxe": { + "class": "ShowPlatformSoftwareCpmSwitchB0CountersPuntInject", + "doc": "Parser for show platform software cpm switch {mode} B0 counters punt-inject", + "module_name": "iosxe.show_platform_software", + "package": "genie.libs.parser", + "schema": "{\n 'traffic_type': {\n Any('*'): {\n 'packets_inject': int,\n 'packets_punt': int,\n 'drop_inject': int,\n 'drop_punt': int,\n },\n },\n Optional('timestamp_now'): str,\n Optional('ctrl_rx_timestamp'): {\n 'timestamp': dict,\n Optional('ctrl_rx_max_time_gap_sec'): str,\n Optional('ctrl_rx_max_timestamp'): str,\n },\n Optional('ctrl_tx_timestamp'): {\n 'timestamp': dict,\n Optional('ctrl_tx_max_time_gap_sec'): str,\n Optional('ctrl_tx_max_timestamp'): str,\n },\n Optional('ipc_rx_timestamp'): {\n 'timestamp': dict,\n Optional('ipc_rx_max_time_gap_sec'): str,\n Optional('ipc_rx_max_timestamp'): str,\n },\n Optional('ipc_tx_timestamp'): {\n 'timestamp': dict,\n Optional('ipc_tx_max_time_gap_sec'): str,\n Optional('ipc_tx_max_timestamp'): str,\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_platform_software_cpm_switch_mode_BP_mode2_counters_punt-inject", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2141" } } }, @@ -76965,7 +77176,7 @@ "os": "iosxe" }, "uid": "show_platform_software_distributed-ipsec_tunnel-info", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L5883" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L5893" } } }, @@ -77029,7 +77240,7 @@ "os": "iosxe" }, "uid": "show_platform_software_factory-reset_secure_log", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3676" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3686" } } }, @@ -77621,7 +77832,7 @@ "os": "iosxe" }, "uid": "show_platform_software_fed_active_punt_cpuq_brief", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software_fed_punt.py#L497" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software_fed_punt.py#L499" } } }, @@ -77637,7 +77848,7 @@ "os": "iosxe" }, "uid": "show_platform_software_fed_active_punt_cpuq_cpu_q_id", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software_fed_punt.py#L76" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software_fed_punt.py#L78" } } }, @@ -77713,7 +77924,7 @@ "os": "iosxe" }, "uid": "show_platform_software_fed_active_punt_ios-cause_brief", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software_fed_punt.py#L565" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software_fed_punt.py#L567" } } }, @@ -78026,6 +78237,22 @@ } } }, + "show platform software fed switch active cpu-interfaces": { + "folders": { + "iosxe": { + "class": "ShowPlatformSoftwareFedSwitchActiveCpuInterfaces", + "doc": "parser for cli 'show platform software fed switch active cpu-interfaces'", + "module_name": "iosxe.show_platform_software_fed", + "package": "genie.libs.parser", + "schema": "{\n 'queue': {\n Any('*'): {\n 'retrieved': int,\n 'dropped': int,\n 'invalid': int,\n 'hol_block': int,\n },\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_platform_software_fed_switch_active_cpu-interfaces", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software_fed.py#L11314" + } + } + }, "show platform software fed switch active ifm interfaces internal {interface}": { "folders": { "iosxe": { @@ -78042,19 +78269,35 @@ } } }, - "show platform software fed switch active ifm mappings lpn": { + "show platform software fed switch active ifm mappings l3if-le": { "folders": { "iosxe": { - "class": "ShowPlatformSoftwareFedSwitchActiveIfmMappingsLpn", - "doc": "\n Parser for :\n * show platform software fed switch active ifm mappings lpn\n ", + "class": "ShowPlatformSoftwareFedSwitchActiveIfmMappingsL3if_le", + "doc": null, "module_name": "iosxe.show_platform_software_fed", "package": "genie.libs.parser", + "schema": "{\n 'interface': {\n Any('*'): {\n 'l3if_le': str,\n 'if_id': str,\n 'type': str,\n },\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_platform_software_fed_switch_active_ifm_mappings_l3if-le", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software_fed.py#L11371" + } + } + }, + "show platform software fed switch active ifm mappings lpn": { + "folders": { + "iosxe": { + "class": "ShowPlatformSoftwareFedSwitchNumberIfmMappingsLpn", + "doc": "\n Parser for :\n * show platform software fed switch active ifm mappings lpn\n * \"show platform software fed switch {switch_num} ifm mappings lpn\"\n ", + "module_name": "iosxe.show_platform_software_fed_switch_num", + "package": "genie.libs.parser", "schema": "{\n 'interfaces': {\n Any('*'): {\n 'lpn': int,\n 'asic': int,\n 'port': int,\n 'if_id': str,\n 'active': str,\n },\n },\n}", "tokens": { "os": "iosxe" }, "uid": "show_platform_software_fed_switch_active_ifm_mappings_lpn", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software_fed.py#L950" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software_fed_switch_num.py#L40" } } }, @@ -78074,6 +78317,22 @@ } } }, + "show platform software fed switch active ifm mappings port-le": { + "folders": { + "iosxe": { + "class": "ShowPlatformSoftwareFedSwitchNumberIfmMappingsPortLE", + "doc": "\n Parser for:\n * \"show platform software fed switch active ifm mappings port-le\"\n * \"show platform software fed switch {switch_num} ifm mappings port-le\"\n ", + "module_name": "iosxe.show_platform_software_fed_switch_num", + "package": "genie.libs.parser", + "schema": "{\n 'port_le': {\n Any('*'): {\n 'interface': str,\n 'if_id': str,\n 'type': str,\n },\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_platform_software_fed_switch_active_ifm_mappings_port-le", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software_fed_switch_num.py#L153" + } + } + }, "show platform software fed switch active ipsec counters if-id all": { "folders": { "iosxe": { @@ -78218,6 +78477,22 @@ } } }, + "show platform software fed switch active statistics init": { + "folders": { + "iosxe": { + "class": "ShowPlatformSoftwareFedSwitchActiveStatisticsInit", + "doc": "parser for cli 'show platform software fed switch active statistics init' ", + "module_name": "iosxe.show_platform_software_fed_switch_num", + "package": "genie.libs.parser", + "schema": "{\n 'function_name': {\n Any('*'): {\n 'initialization_time': int,\n },\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_platform_software_fed_switch_active_statistics_init", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software_fed_switch_num.py#L101" + } + } + }, "show platform software fed switch {mode} ip urpf": { "folders": { "iosxe": { @@ -78478,6 +78753,22 @@ } } }, + "show platform software fed switch {switch_num} ifm mappings port-le": { + "folders": { + "iosxe": { + "class": "ShowPlatformSoftwareFedSwitchNumberIfmMappingsPortLE", + "doc": "\n Parser for:\n * \"show platform software fed switch active ifm mappings port-le\"\n * \"show platform software fed switch {switch_num} ifm mappings port-le\"\n ", + "module_name": "iosxe.show_platform_software_fed_switch_num", + "package": "genie.libs.parser", + "schema": "{\n 'port_le': {\n Any('*'): {\n 'interface': str,\n 'if_id': str,\n 'type': str,\n },\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_platform_software_fed_switch_switch_num_ifm_mappings_port-le", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software_fed_switch_num.py#L153" + } + } + }, "show platform software fed switch {switch_num} monitor {session}": { "folders": { "iosxe": { @@ -79001,7 +79292,7 @@ "os": "iosxe" }, "uid": "show_platform_software_fed_mode_punt_entries", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software_fed_punt.py#L417" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software_fed_punt.py#L419" } } }, @@ -79165,6 +79456,22 @@ } } }, + "show platform software fed {port_num} punt entries | include {match}": { + "folders": { + "iosxe": { + "class": "ShowPlatformSoftwareFedPuntEntriesInclude", + "doc": "Parser for show platform software fed {switch} {port_num} punt entries | include {match}", + "module_name": "iosxe.show_platform_software_fed_punt", + "package": "genie.libs.parser", + "schema": "{\n 'index': {\n Any('*'): {\n Optional('name'): str,\n Optional('source'): str,\n Optional('priority'): int,\n Optional('tc'): int,\n Optional('policy'): str,\n Optional('cir_sw'): int,\n Optional('cir_hw'): int,\n Optional('packets_a'): int,\n Optional('bytes_a'): int,\n Optional('packets_d'): int,\n Optional('bytes_d'): int,\n },\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_platform_software_fed_port_num_punt_entries___include_match", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software_fed_punt.py#L651" + } + } + }, "show platform software fed {rp} learning stats": { "folders": { "iosxe": { @@ -80066,7 +80373,7 @@ "os": "iosxe" }, "uid": "show_platform_software_fed_switch_active_punt_cpuq_brief", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software_fed_punt.py#L497" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software_fed_punt.py#L499" } } }, @@ -80589,7 +80896,7 @@ "os": "iosxe" }, "uid": "show_platform_software_fed_switch_mode_punt_entries", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software_fed_punt.py#L417" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software_fed_punt.py#L419" } } }, @@ -80605,7 +80912,7 @@ "os": "iosxe" }, "uid": "show_platform_software_fed_switch_mode_punt_ios-cause_brief", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software_fed_punt.py#L565" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software_fed_punt.py#L567" } } }, @@ -80769,6 +81076,22 @@ } } }, + "show platform software fed {switch} {port_num} punt entries | include {match}": { + "folders": { + "iosxe": { + "class": "ShowPlatformSoftwareFedPuntEntriesInclude", + "doc": "Parser for show platform software fed {switch} {port_num} punt entries | include {match}", + "module_name": "iosxe.show_platform_software_fed_punt", + "package": "genie.libs.parser", + "schema": "{\n 'index': {\n Any('*'): {\n Optional('name'): str,\n Optional('source'): str,\n Optional('priority'): int,\n Optional('tc'): int,\n Optional('policy'): str,\n Optional('cir_sw'): int,\n Optional('cir_hw'): int,\n Optional('packets_a'): int,\n Optional('bytes_a'): int,\n Optional('packets_d'): int,\n Optional('bytes_d'): int,\n },\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_platform_software_fed_switch_port_num_punt_entries___include_match", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software_fed_punt.py#L651" + } + } + }, "show platform software fed {switch} {state} ifm mappings": { "folders": { "iosxe": { @@ -81025,7 +81348,7 @@ "os": "iosxe" }, "uid": "show_platform_software_fed_switch_switch_type_punt_cpuq_cpu_q_id", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software_fed_punt.py#L76" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software_fed_punt.py#L78" } } }, @@ -81137,7 +81460,7 @@ "os": "iosxe" }, "uid": "show_platform_software_ilpower_port_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L5346" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L5356" } } }, @@ -81153,7 +81476,7 @@ "os": "iosxe" }, "uid": "show_platform_software_infrastructure_inject", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L9168" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L9188" } } }, @@ -81169,7 +81492,7 @@ "os": "iosxe" }, "uid": "show_platform_software_install-manager_RP_active_operation_history_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2949" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2959" } } }, @@ -81185,7 +81508,7 @@ "os": "iosxe" }, "uid": "show_platform_software_install-manager_chassis_active_r0_operation_history_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L4509" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L4519" } } }, @@ -81201,7 +81524,7 @@ "os": "iosxe" }, "uid": "show_platform_software_install-manager_switch_active_r0_operation_history_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3021" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3031" } } }, @@ -81217,7 +81540,7 @@ "os": "iosxe" }, "uid": "show_platform_software_interface_f0_name_intf", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8449" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8469" } } }, @@ -81281,7 +81604,7 @@ "os": "iosxe" }, "uid": "show_platform_software_iomd_lc_no_macsec_interface_port_no_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L6254" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L6264" } } }, @@ -81313,7 +81636,7 @@ "os": "iosxe" }, "uid": "show_platform_software_mcu_switch_switch_num_R0_manager_0", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L9318" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L9338" } } }, @@ -81329,7 +81652,7 @@ "os": "iosxe" }, "uid": "show_platform_software_mcu_switch_switch_num_route_processor_subordinate_0", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8861" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8881" } } }, @@ -81345,7 +81668,7 @@ "os": "iosxe" }, "uid": "show_platform_software_mcu_switch_switch_num_route_processor_version_0", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8741" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8761" } } }, @@ -81361,7 +81684,7 @@ "os": "iosxe" }, "uid": "show_platform_software_memory_database_fed_switch_var_callsite", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L7600" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L7610" } } }, @@ -81377,7 +81700,7 @@ "os": "iosxe" }, "uid": "show_platform_software_memory_database_fed_switch_switch_var_callsite", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L7600" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L7610" } } }, @@ -81769,7 +82092,7 @@ "os": "iosxe" }, "uid": "show_platform_software_monitor_session_session", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L4059" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L4069" } } }, @@ -81785,7 +82108,7 @@ "os": "iosxe" }, "uid": "show_platform_software_mount_rp_active___include_file_system", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L7965" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L7985" } } }, @@ -81801,7 +82124,7 @@ "os": "iosxe" }, "uid": "show_platform_software_mount_switch_mode_rp_active___include_file_system", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L7965" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L7985" } } }, @@ -81817,7 +82140,7 @@ "os": "iosxe" }, "uid": "show_platform_software_node_cluster-manager_switch_mode_B0_local", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L4753" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L4763" } } }, @@ -81833,7 +82156,7 @@ "os": "iosxe" }, "uid": "show_platform_software_node_cluster-manager_switch_mode_B0_node_node", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3533" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3543" } } }, @@ -81849,7 +82172,7 @@ "os": "iosxe" }, "uid": "show_platform_software_object-manager_F0_error-object", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8278" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8298" } } }, @@ -81881,7 +82204,7 @@ "os": "iosxe" }, "uid": "show_platform_software_object-manager_F0_statistics", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8059" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8079" } } }, @@ -81897,7 +82220,7 @@ "os": "iosxe" }, "uid": "show_platform_software_object-manager_FP_active_statistics", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2757" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2767" } } }, @@ -81913,7 +82236,7 @@ "os": "iosxe" }, "uid": "show_platform_software_object-manager_f0_object_object_object_identifier", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8669" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8689" } } }, @@ -81929,7 +82252,7 @@ "os": "iosxe" }, "uid": "show_platform_software_object-manager_switch_switchstate_serviceprocessor_active_statistics", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2757" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2767" } } }, @@ -81987,7 +82310,7 @@ "os": "iosxe" }, "uid": "show_platform_software_object-manager_switch_switch_F0_object_object", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L6079" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L6089" } } }, @@ -82033,7 +82356,7 @@ "os": "iosxe" }, "uid": "show_platform_software_object-manager_switch_switch_type_F0_error-object", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8278" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8298" } } }, @@ -82065,7 +82388,7 @@ "os": "iosxe" }, "uid": "show_platform_software_object-manager_switch_switch_type_F0_statistics", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8059" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8079" } } }, @@ -82155,7 +82478,7 @@ "os": "iosxe" }, "uid": "show_platform_software_punt-policer", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3594" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3604" } } }, @@ -82279,7 +82602,7 @@ "os": "iosxe" }, "uid": "show_platform_software_steering-policy_forwarding-manager_F0_cell-info", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3084" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3094" } } }, @@ -82295,7 +82618,7 @@ "os": "iosxe" }, "uid": "show_platform_software_steering-policy_forwarding-manager_F0_policy-summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3359" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3369" } } }, @@ -82311,7 +82634,7 @@ "os": "iosxe" }, "uid": "show_platform_software_steering-policy_forwarding-manager_F0_service-all", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3290" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3300" } } }, @@ -82327,7 +82650,7 @@ "os": "iosxe" }, "uid": "show_platform_software_steering-policy_forwarding-manager_R0_permissions_ipv4_sgt_dgt", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3175" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3185" } } }, @@ -82343,7 +82666,7 @@ "os": "iosxe" }, "uid": "show_platform_software_steering-policy_forwarding-manager_r0_service-id_service_id", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3232" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3242" } } }, @@ -82359,7 +82682,7 @@ "os": "iosxe" }, "uid": "show_platform_software_steering-policy_forwarding-manager_switch_switch_F0_cell-info", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3084" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3094" } } }, @@ -82375,7 +82698,7 @@ "os": "iosxe" }, "uid": "show_platform_software_steering-policy_forwarding-manager_switch_switch_F0_policy-aom-info", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L6014" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L6024" } } }, @@ -82391,7 +82714,7 @@ "os": "iosxe" }, "uid": "show_platform_software_steering-policy_forwarding-manager_switch_switch_F0_policy-summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3359" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3369" } } }, @@ -82407,7 +82730,7 @@ "os": "iosxe" }, "uid": "show_platform_software_steering-policy_forwarding-manager_switch_switch_F0_service-all", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3290" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3300" } } }, @@ -82423,7 +82746,7 @@ "os": "iosxe" }, "uid": "show_platform_software_steering-policy_forwarding-manager_switch_switch_R0_permissions_ipv4_sgt_dgt", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3175" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3185" } } }, @@ -82439,7 +82762,7 @@ "os": "iosxe" }, "uid": "show_platform_software_steering-policy_forwarding-manager_switch_switch_r0_service-id_service_id", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3232" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3242" } } }, @@ -82455,7 +82778,7 @@ "os": "iosxe" }, "uid": "show_platform_software_tdl-database_content_bp_config_mode", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L4439" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L4449" } } }, @@ -82471,7 +82794,7 @@ "os": "iosxe" }, "uid": "show_platform_software_wired-client_switch_switch_state_r0", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3965" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3975" } } }, @@ -82487,7 +82810,23 @@ "os": "iosxe" }, "uid": "show_platform_software_wired-client_switch_switch_f0", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3901" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3911" + } + } + }, + "show platform software wired-client {client_id}": { + "folders": { + "iosxe": { + "class": "ShowPlatformSoftwareWiredClientID", + "doc": "Parser for show platform software wired-client {client_id}", + "module_name": "iosxe.show_platform_software", + "package": "genie.libs.parser", + "schema": "{\n 'wired_client': {\n Any('*'): {\n 'id': str,\n 'mac': str,\n 'fwd': str,\n 'open_access': str,\n },\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_platform_software_wired-client_client_id", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L9910" } } }, @@ -82503,7 +82842,7 @@ "os": "iosxe" }, "uid": "show_platform_software_wired-client_process_active", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L5732" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L5742" } } }, @@ -82519,7 +82858,7 @@ "os": "iosxe" }, "uid": "show_platform_software_wired-client_state_r0_id_iif_id", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8366" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8386" } } }, @@ -82535,7 +82874,7 @@ "os": "iosxe" }, "uid": "show_platform_software_wired-client_switch_state_r0_id_iif_id", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8366" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8386" } } }, @@ -82599,7 +82938,7 @@ "os": "iosxe" }, "uid": "show_platform_sudi_certificate", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5859" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5858" } } }, @@ -82615,7 +82954,7 @@ "os": "iosxe" }, "uid": "show_platform_sudi_certificate_sign_nonce_signature", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5859" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5858" } } }, @@ -82631,7 +82970,7 @@ "os": "iosxe" }, "uid": "show_platform_sudi_pki", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6100" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6099" } } }, @@ -82647,7 +82986,7 @@ "os": "iosxe" }, "uid": "show_platform_usb_status", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8330" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8329" } } }, @@ -82711,7 +83050,7 @@ "os": "iosxe" }, "uid": "show_policy-map", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L2399" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L2401" } } }, @@ -82722,12 +83061,12 @@ "doc": " Parser for:\n * 'show policy-map control-plane'\n ", "module_name": "iosxe.show_policy_map", "package": "genie.libs.parser", - "schema": "{\n Any('*'): {\n Optional('service_group'): int,\n Optional('service_policy'): {\n Any('*'): {\n Optional('policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n },\n}", + "schema": "{\n Any('*'): {\n Optional('service_group'): int,\n Optional('service_policy'): {\n Any('*'): {\n Optional('policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n },\n}", "tokens": { "os": "iosxe" }, "uid": "show_policy-map_control-plane", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L1768" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L1770" } } }, @@ -82743,7 +83082,7 @@ "os": "iosxe" }, "uid": "show_policy-map_control-plane___section_class_map", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L2014" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L2016" } } }, @@ -82754,12 +83093,12 @@ "doc": " Parser for:\n * 'show policy-map interface {interface}'\n * 'show policy-map interface'\n ", "module_name": "iosxe.show_policy_map", "package": "genie.libs.parser", - "schema": "{\n Any('*'): {\n Optional('service_group'): int,\n Optional('service_policy'): {\n Any('*'): {\n Optional('policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n },\n}", + "schema": "{\n Any('*'): {\n Optional('service_group'): int,\n Optional('service_policy'): {\n Any('*'): {\n Optional('policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n },\n}", "tokens": { "os": "iosxe" }, "uid": "show_policy-map_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L1795" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L1797" } } }, @@ -82770,12 +83109,12 @@ "doc": " Parser for:\n * 'show policy-map interface class {class_name}'\n ", "module_name": "iosxe.show_policy_map", "package": "genie.libs.parser", - "schema": "{\n Any('*'): {\n Optional('service_group'): int,\n Optional('service_policy'): {\n Any('*'): {\n Optional('policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n },\n}", + "schema": "{\n Any('*'): {\n Optional('service_group'): int,\n Optional('service_policy'): {\n Any('*'): {\n Optional('policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n },\n}", "tokens": { "os": "iosxe" }, "uid": "show_policy-map_interface_class_class_name", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L1892" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L1894" } } }, @@ -82786,12 +83125,12 @@ "doc": " Parser for:\n * 'show policy-map interface {interface}'\n * 'show policy-map interface'\n ", "module_name": "iosxe.show_policy_map", "package": "genie.libs.parser", - "schema": "{\n Any('*'): {\n Optional('service_group'): int,\n Optional('service_policy'): {\n Any('*'): {\n Optional('policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n },\n}", + "schema": "{\n Any('*'): {\n Optional('service_group'): int,\n Optional('service_policy'): {\n Any('*'): {\n Optional('policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n },\n}", "tokens": { "os": "iosxe" }, "uid": "show_policy-map_interface_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L1795" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L1797" }, "iosxr": { "class": "ShowPolicyMapInterface", @@ -82814,12 +83153,12 @@ "doc": " Parser for:\n * 'show policy-map interface {interface} input class {class_name}'\n * 'show policy-map interface {interface} input'\n ", "module_name": "iosxe.show_policy_map", "package": "genie.libs.parser", - "schema": "{\n Any('*'): {\n Optional('service_group'): int,\n Optional('service_policy'): {\n Any('*'): {\n Optional('policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n },\n}", + "schema": "{\n Any('*'): {\n Optional('service_group'): int,\n Optional('service_policy'): {\n Any('*'): {\n Optional('policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n },\n}", "tokens": { "os": "iosxe" }, "uid": "show_policy-map_interface_interface_input", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L1828" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L1830" } } }, @@ -82830,12 +83169,12 @@ "doc": " Parser for:\n * 'show policy-map interface {interface} input class {class_name}'\n * 'show policy-map interface {interface} input'\n ", "module_name": "iosxe.show_policy_map", "package": "genie.libs.parser", - "schema": "{\n Any('*'): {\n Optional('service_group'): int,\n Optional('service_policy'): {\n Any('*'): {\n Optional('policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n },\n}", + "schema": "{\n Any('*'): {\n Optional('service_group'): int,\n Optional('service_policy'): {\n Any('*'): {\n Optional('policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n },\n}", "tokens": { "os": "iosxe" }, "uid": "show_policy-map_interface_interface_input_class_class_name", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L1828" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L1830" } } }, @@ -82846,12 +83185,12 @@ "doc": " Parser for:\n * 'show policy-map interface {interface} output class {class_name}'\n * 'show policy-map interface {interface} output'\n ", "module_name": "iosxe.show_policy_map", "package": "genie.libs.parser", - "schema": "{\n Any('*'): {\n Optional('service_group'): int,\n Optional('service_policy'): {\n Any('*'): {\n Optional('policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n },\n}", + "schema": "{\n Any('*'): {\n Optional('service_group'): int,\n Optional('service_policy'): {\n Any('*'): {\n Optional('policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n },\n}", "tokens": { "os": "iosxe" }, "uid": "show_policy-map_interface_interface_output", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L1860" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L1862" } } }, @@ -82862,12 +83201,12 @@ "doc": " Parser for:\n * 'show policy-map interface {interface} output class {class_name}'\n * 'show policy-map interface {interface} output'\n ", "module_name": "iosxe.show_policy_map", "package": "genie.libs.parser", - "schema": "{\n Any('*'): {\n Optional('service_group'): int,\n Optional('service_policy'): {\n Any('*'): {\n Optional('policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n },\n}", + "schema": "{\n Any('*'): {\n Optional('service_group'): int,\n Optional('service_policy'): {\n Any('*'): {\n Optional('policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n },\n}", "tokens": { "os": "iosxe" }, "uid": "show_policy-map_interface_interface_output_class_class_name", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L1860" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L1862" } } }, @@ -82894,12 +83233,12 @@ "doc": " Parser for:\n * 'show policy-map target service-group {num}'\n ", "module_name": "iosxe.show_policy_map", "package": "genie.libs.parser", - "schema": "{\n Any('*'): {\n Optional('service_group'): int,\n Optional('service_policy'): {\n Any('*'): {\n Optional('policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n },\n}", + "schema": "{\n Any('*'): {\n Optional('service_group'): int,\n Optional('service_policy'): {\n Any('*'): {\n Optional('policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n },\n}", "tokens": { "os": "iosxe" }, "uid": "show_policy-map_target_service-group_num", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L1920" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L1922" } } }, @@ -82915,7 +83254,7 @@ "os": "iosxe" }, "uid": "show_policy-map_type_control_subscriber_binding_policy_map_name", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L2979" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L2981" } } }, @@ -82982,12 +83321,12 @@ "doc": " Parser for:\n * 'show policy-map type queueing interface {interface} output class {class_name}'\n * 'show policy-map type queueing interface {interface} output'\n ", "module_name": "iosxe.show_policy_map", "package": "genie.libs.parser", - "schema": "{\n Any('*'): {\n Optional('service_group'): int,\n Optional('service_policy'): {\n Any('*'): {\n Optional('policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n },\n}", + "schema": "{\n Any('*'): {\n Optional('service_group'): int,\n Optional('service_policy'): {\n Any('*'): {\n Optional('policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n },\n}", "tokens": { "os": "iosxe" }, "uid": "show_policy-map_type_queueing_interface_interface_output", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L3396" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L3398" } } }, @@ -82998,12 +83337,12 @@ "doc": " Parser for:\n * 'show policy-map type queueing interface {interface} output class {class_name}'\n * 'show policy-map type queueing interface {interface} output'\n ", "module_name": "iosxe.show_policy_map", "package": "genie.libs.parser", - "schema": "{\n Any('*'): {\n Optional('service_group'): int,\n Optional('service_policy'): {\n Any('*'): {\n Optional('policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n },\n}", + "schema": "{\n Any('*'): {\n Optional('service_group'): int,\n Optional('service_policy'): {\n Any('*'): {\n Optional('policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('rate_bps'): int,\n Optional('burst_bytes'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n Optional('child_policy_name'): {\n Any('*'): {\n Optional('class_map'): {\n Any('*'): {\n 'match_evaluation': str,\n 'match': list,\n Optional('packets'): int,\n Optional('packet_output'): int,\n Optional('packet_drop'): int,\n Optional('tail_random_drops'): int,\n Optional('other_drops'): int,\n Optional('bytes'): int,\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_size'): int,\n Optional('queue_limit'): int,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n Optional('pkts_matched'): int,\n Optional('bytes_matched'): int,\n Optional('pkts_queued'): int,\n Optional('bytes_queued'): int,\n Optional('shape_type'): str,\n Optional('shape_cir_bps'): int,\n Optional('shape_bc_bps'): int,\n Optional('shape_be_bps'): int,\n Optional('target_shape_rate'): int,\n Optional('output_queue'): str,\n Optional('bandwidth_percent'): int,\n Optional('bandwidth_kbps'): int,\n Optional('bandwidth'): str,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('bandwidth_remaining_percent'): int,\n Optional('fair_queue_limit_per_flow'): int,\n Optional('bandwidth_max_threshold_packets'): int,\n Optional('priority_level'): int,\n Optional('overhead_accounting'): str,\n Optional('random_detect'): {\n Optional('exp_weight_constant'): str,\n Optional('exponential_weight'): str,\n Optional('mean_queue_depth'): int,\n Optional('class'): {\n Any('*'): {\n 'transmitted_packets': str,\n 'transmitted_bytes': str,\n 'random_drop_packets': str,\n 'random_drop_bytes': str,\n 'tail_drop_packets': str,\n 'tail_drop_bytes': str,\n 'minimum_thresh': str,\n 'maximum_thresh': str,\n 'mark_prob': str,\n Optional('ecn_mark'): str,\n },\n },\n },\n Optional('priority'): {\n Optional('percent'): int,\n Optional('kbps'): int,\n Optional('burst_bytes'): int,\n Optional('exceed_drops'): int,\n Optional('type'): str,\n },\n Optional('rate'): {\n Optional('interval'): int,\n Optional('offered_rate_bps'): int,\n Optional('drop_rate_bps'): int,\n },\n Optional('policy'): {\n Any('*'): {\n 'class': {\n Any('*'): {\n Optional('bandwidth'): int,\n Optional('random_detect'): {\n 'precedence': list,\n 'bytes1': list,\n 'bytes2': list,\n 'bytes3': list,\n },\n },\n },\n },\n },\n Optional('qos_set'): {\n Optional('mpls_experimental_imposition'): int,\n Any('*'): {\n Any('*'): {\n Optional('packets_marked'): int,\n Optional('marker_statistics'): str,\n },\n },\n },\n Optional('police'): {\n Optional('cir_bps'): int,\n Optional('pir_bps'): int,\n Optional('cir_bc_bytes'): int,\n Optional('cir_be_bytes'): int,\n Optional('pir_bc_bytes'): int,\n Optional('pir_be_bytes'): int,\n Optional('police_bps'): int,\n Optional('police_limit'): int,\n Optional('extended_limit'): int,\n Optional('bandwidth_remaining_ratio'): int,\n Optional('conformed'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('exceeded'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n Optional('violated'): {\n Optional('packets'): int,\n 'bytes': int,\n 'bps': int,\n Optional('actions'): {\n Any('*'): Or (, ),\n },\n },\n },\n Optional('afd_wred_stats'): {\n 'virtual_class': {\n Any('*'): {\n 'dscp': int,\n 'min': int,\n 'max': int,\n 'transmit_bytes': int,\n 'transmit_packets': int,\n 'random_drop_bytes': int,\n 'random_drop_packets': int,\n 'afd_weight': int,\n },\n },\n 'total_drops_bytes': int,\n 'total_drops_packets': int,\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n Optional('queue_stats_for_all_priority_classes'): {\n Optional('priority_level'): {\n Any('*'): {\n Optional('queueing'): bool,\n Optional('queue_limit_packets'): str,\n Optional('queue_limit_bytes'): int,\n Optional('queue_limit_us'): int,\n Optional('queue_depth'): int,\n Optional('total_drops'): int,\n Optional('no_buffer_drops'): int,\n Optional('pkts_output'): int,\n Optional('bytes_output'): int,\n },\n },\n },\n },\n },\n },\n },\n },\n}", "tokens": { "os": "iosxe" }, "uid": "show_policy-map_type_queueing_interface_interface_output_class_class_name", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L3396" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L3398" } } }, @@ -83019,7 +83358,7 @@ "os": "iosxe" }, "uid": "show_policy-map_type_queueing_policy_name", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L3459" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L3461" } } }, @@ -83035,7 +83374,7 @@ "os": "iosxe" }, "uid": "show_policy-map_name", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L2399" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L2401" } } }, @@ -83051,7 +83390,7 @@ "os": "iosxe" }, "uid": "show_policy-map_policy_name_class_class_name", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L3040" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map.py#L3042" } } }, @@ -83727,7 +84066,7 @@ "os": "iosxe" }, "uid": "show_processes_cpu", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4546" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4545" }, "iosxr": { "class": "ShowProcessesCpu", @@ -83779,7 +84118,7 @@ "os": "iosxe" }, "uid": "show_processes_cpu_history", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4892" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4891" } } }, @@ -83816,6 +84155,20 @@ "iosxe": { "class": "ShowProcessesCpuPlatformSorted", "doc": "Parser for show processes cpu platform sorted", + "folders": { + "rv1": { + "class": "ShowProcessesCpuPlatformSorted", + "doc": "Parser for show processes cpu platform sorted", + "module_name": "iosxe.rv1.show_platform", + "package": "genie.libs.parser", + "schema": "{\n Optional('cpu_utilization'): {\n Optional('five_sec_cpu_total'): float,\n Optional('one_min_cpu'): float,\n Optional('five_min_cpu'): float,\n Optional('core'): {\n Any('*'): {\n 'core_cpu_util_five_secs': float,\n 'core_cpu_util_one_min': float,\n 'core_cpu_util_five_min': float,\n },\n },\n },\n 'sort': {\n Any('*'): {\n 'ppid': int,\n 'five_sec_cpu': float,\n 'one_min_cpu': float,\n 'five_min_cpu': float,\n 'status': str,\n 'size': int,\n 'process': str,\n },\n },\n}", + "tokens": { + "revision": "1" + }, + "uid": "show_processes_cpu_platform_sorted", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/rv1/show_platform.py#L43" + } + }, "module_name": "iosxe.show_platform", "package": "genie.libs.parser", "schema": "{\n 'cpu_utilization': {\n 'cpu_util_five_secs': str,\n 'cpu_util_one_min': str,\n 'cpu_util_five_min': str,\n Optional('core'): {\n Any('*'): {\n 'core_cpu_util_five_secs': str,\n 'core_cpu_util_one_min': str,\n 'core_cpu_util_five_min': str,\n },\n },\n },\n 'pid': {\n Any('*'): {\n 'ppid': int,\n 'five_sec': str,\n 'one_min': str,\n 'five_min': str,\n 'status': str,\n 'size': int,\n 'name': str,\n },\n },\n}", @@ -83823,7 +84176,30 @@ "os": "iosxe" }, "uid": "show_processes_cpu_platform_sorted", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7394" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7393" + } + } + }, + "show processes cpu platform sorted | exclude {exclude}": { + "folders": { + "iosxe": { + "folders": { + "rv1": { + "class": "ShowProcessesCpuPlatformSorted", + "doc": "Parser for show processes cpu platform sorted", + "module_name": "iosxe.rv1.show_platform", + "package": "genie.libs.parser", + "schema": "{\n Optional('cpu_utilization'): {\n Optional('five_sec_cpu_total'): float,\n Optional('one_min_cpu'): float,\n Optional('five_min_cpu'): float,\n Optional('core'): {\n Any('*'): {\n 'core_cpu_util_five_secs': float,\n 'core_cpu_util_one_min': float,\n 'core_cpu_util_five_min': float,\n },\n },\n },\n 'sort': {\n Any('*'): {\n 'ppid': int,\n 'five_sec_cpu': float,\n 'one_min_cpu': float,\n 'five_min_cpu': float,\n 'status': str,\n 'size': int,\n 'process': str,\n },\n },\n}", + "tokens": { + "revision": "1" + }, + "uid": "show_processes_cpu_platform_sorted___exclude_exclude", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/rv1/show_platform.py#L43" + } + }, + "tokens": { + "os": "iosxe" + } } } }, @@ -84035,7 +84411,7 @@ "os": "iosxe" }, "uid": "show_processes_memory", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5032" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5031" }, "iosxr": { "class": "ShowProcessesMemory", @@ -84123,7 +84499,7 @@ "os": "iosxe" }, "uid": "show_processes_memory_sorted", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5151" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5150" } } }, @@ -84151,7 +84527,7 @@ "os": "iosxe" }, "uid": "show_processes_memory___exclude_exclude", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5032" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5031" } } }, @@ -84179,7 +84555,7 @@ "os": "iosxe" }, "uid": "show_processes_memory___include_include", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5032" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5031" }, "iosxr": { "class": "ShowProcessesMemory", @@ -84231,7 +84607,7 @@ "os": "iosxe" }, "uid": "show_processes_memory___section_section", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5032" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5031" } } }, @@ -84279,7 +84655,7 @@ "os": "iosxe" }, "uid": "show_processes_processid", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8458" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8457" } } }, @@ -85053,7 +85429,7 @@ "os": "iosxe" }, "uid": "show_redundancy_config-sync_failures_mcl", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7471" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7470" } } }, @@ -85165,7 +85541,7 @@ "os": "iosxe" }, "uid": "show_rep_topology_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9450" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9449" } } }, @@ -85181,7 +85557,7 @@ "os": "iosxe" }, "uid": "show_rep_topology_segment_no", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6871" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6870" } } }, @@ -87201,7 +87577,7 @@ "os": "nxos" }, "uid": "show_running-config_pim", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L4278" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L4279" } } }, @@ -87217,7 +87593,7 @@ "os": "nxos" }, "uid": "show_running-config_pim___inc_pip_str", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L4278" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L4279" } } }, @@ -87233,7 +87609,7 @@ "os": "nxos" }, "uid": "show_running-config_pim___sec_'^i'", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L4278" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L4279" } } }, @@ -87249,7 +87625,7 @@ "os": "nxos" }, "uid": "show_running-config_pim___sec_'^i'___inc_pip_str", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L4278" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L4279" } } }, @@ -87265,7 +87641,7 @@ "os": "nxos" }, "uid": "show_running-config_pim___sec_vrf", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L4278" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L4279" } } }, @@ -87281,7 +87657,7 @@ "os": "nxos" }, "uid": "show_running-config_pim___sec_vrf___inc_pip_str", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L4278" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_pim.py#L4279" } } }, @@ -88203,7 +88579,7 @@ "doc": " Parser for \"show sdwan omp peers\" ", "module_name": "iosxe.show_sdwan", "package": "genie.libs.parser", - "schema": "{\n 'peer': {\n Any('*'): {\n 'type': str,\n 'domain_id': int,\n 'overlay_id': int,\n 'site_id': int,\n 'state': str,\n 'uptime': str,\n 'route': {\n 'recv': int,\n 'install': int,\n 'sent': int,\n },\n },\n },\n}", + "schema": "{\n 'peer': {\n Any('*'): {\n Optional('tenant'): str,\n 'type': str,\n 'domain_id': int,\n 'overlay_id': int,\n 'site_id': int,\n Optional('region_id'): str,\n 'state': str,\n 'uptime': str,\n 'route': {\n 'recv': int,\n 'install': int,\n 'sent': int,\n },\n },\n },\n}", "tokens": { "os": "iosxe" }, @@ -89955,6 +90331,22 @@ } } }, + "show software authenticity running": { + "folders": { + "iosxe": { + "class": "ShowSoftwareAuthenticityRunning", + "doc": "Parser for show software authenticity", + "module_name": "iosxe.show_software", + "package": "genie.libs.parser", + "schema": "{\n 'package': {\n '': {\n 'image_type': str,\n 'signer_information': {\n 'common_name': str,\n 'organization_unit': str,\n 'organization_name': str,\n },\n 'certificate_serial_number': str,\n 'hash_algorithm': str,\n 'signature_algorithm': str,\n 'key_version': str,\n 'verifier_information': {\n 'verifier_name': str,\n 'verifier_version': str,\n },\n },\n },\n Optional('system_image'): {\n 'image_type': str,\n 'signer_information': {\n 'common_name': str,\n 'organization_unit': str,\n 'organization_name': str,\n },\n 'certificate_serial_number': str,\n 'hash_algorithm': str,\n 'signature_algorithm': str,\n 'key_version': str,\n 'verifier_information': {\n 'verifier_name': str,\n 'verifier_version': str,\n },\n },\n Optional('rommon'): {\n 'image_type': str,\n 'signer_information': {\n 'common_name': str,\n 'organization_unit': str,\n 'organization_name': str,\n },\n 'certificate_serial_number': str,\n 'hash_algorithm': str,\n 'signature_algorithm': str,\n 'key_version': str,\n 'verifier_information': {\n 'verifier_name': str,\n 'verifier_version': str,\n },\n },\n Optional('microloader'): {\n 'image_type': str,\n 'signer_information': {\n 'common_name': str,\n 'organization_name': str,\n },\n 'certificate_serial_number': str,\n 'hash_algorithm': str,\n 'verifier_information': {\n 'verifier_name': str,\n 'verifier_version': str,\n },\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_software_authenticity_running", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_software.py#L78" + } + } + }, "show software | tab": { "folders": { "viptela": { @@ -91008,7 +91400,7 @@ "os": "iosxe" }, "uid": "show_switch_stack-ports_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8768" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8767" } } }, @@ -91073,7 +91465,7 @@ "os": "iosxe" }, "uid": "show_switch_stack-ring_speed", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8282" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8281" } } }, @@ -91412,7 +91804,7 @@ "os": "iosxe" }, "uid": "show_system_mtu", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7363" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7362" } } }, @@ -92568,7 +92960,7 @@ "os": "iosxe" }, "uid": "show_time-range_time_range_name", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9163" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9162" } } }, @@ -93301,7 +93693,7 @@ "os": "iosxe" }, "uid": "show_version_RP_rp_status", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4598" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4597" } } }, @@ -93381,7 +93773,7 @@ "os": "iosxe" }, "uid": "show_version_running", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6547" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6546" } } }, @@ -95274,7 +95666,7 @@ "os": "iosxe" }, "uid": "show_xfsu_eligibility", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8633" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8632" } } }, @@ -95290,7 +95682,7 @@ "os": "iosxe" }, "uid": "show_xfsu_status", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8931" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8930" } } }, @@ -95526,7 +95918,7 @@ "os": "iosxe" }, "uid": "show_filesystem_filesys", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9013" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9012" } } }, @@ -95684,7 +96076,7 @@ "os": "iosxe" }, "uid": "test_platform_software_database_get-n_all_ios_oper/component", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9305" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9304" } } }, diff --git a/src/genie/libs/parser/__init__.py b/src/genie/libs/parser/__init__.py index c47f9cabde..2d100a1db5 100644 --- a/src/genie/libs/parser/__init__.py +++ b/src/genie/libs/parser/__init__.py @@ -8,7 +8,7 @@ ''' # metadata -__version__ = '24.10' +__version__ = '24.11' __author__ = 'Cisco Systems Inc.' __contact__ = ['pyats-support@cisco.com', 'pyats-support-ext@cisco.com'] __copyright__ = 'Copyright (c) 2018, Cisco Systems Inc.' diff --git a/src/genie/libs/parser/iosxe/cat9k/c9400/show_idprom.py b/src/genie/libs/parser/iosxe/cat9k/c9400/show_idprom.py index 6a5d6c66cc..9534eebbba 100644 --- a/src/genie/libs/parser/iosxe/cat9k/c9400/show_idprom.py +++ b/src/genie/libs/parser/iosxe/cat9k/c9400/show_idprom.py @@ -1,7 +1,5 @@ '''show_idprom.py - IOSXE parsers for the following show commands: - * show idprom all ''' import re @@ -16,108 +14,108 @@ class ShowIdpromSchema(MetaParser): schema = { 'idprom': { 'midplane': { - 'controller_type': int, - 'hardware_revision': str, - 'top_assy_part_number': str, - 'top_assy_revision': str, - 'deviation_number': str, - 'pcb_serial_number': str, - 'chassis_serial_number': str, - 'rma_test_history': str, - 'rma_number': str, - 'rma_history': str, - 'clei_code': str, - 'eci_number': str, - 'pid': str, - 'vid': str, - 'chassis_mac_address': str + Optional('controller_type'): int, + Optional('hardware_revision'): str, + Optional('top_assy_part_number'): str, + Optional('top_assy_revision'): str, + Optional('deviation_number'): str, + Optional('pcb_serial_number'): str, + Optional('chassis_serial_number'): str, + Optional('rma_test_history'): str, + Optional('rma_number'): str, + Optional('rma_history'): str, + Optional('clei_code'): str, + Optional('eci_number'): str, + Optional('pid'): str, + Optional('vid'): str, + Optional('chassis_mac_address'): str }, 'supervisor': { Any(): { - 'controller_type': int, - 'hardware_revision': str, - 'top_assy_part_number': str, - 'top_assy_revision': str, - 'deviation_number': str, - 'pcb_serial_number': str, - 'rma_test_history': str, - 'rma_number': str, - 'rma_history': str, - 'clei_code': str, - 'eci_number': str, - 'pid': str, - 'vid': str, - 'manufacturing_test_data': str, - 'base_mac_address': str, - 'field_diagnostics_data': str, - 'environment_monitor_data': str, - 'max_power_requirement_watts': int, - 'typical_power_requirement_watts': int + Optional('controller_type'): int, + Optional('hardware_revision'): str, + Optional('top_assy_part_number'): str, + Optional('top_assy_revision'): str, + Optional('deviation_number'): str, + Optional('pcb_serial_number'): str, + Optional('rma_test_history'): str, + Optional('rma_number'): str, + Optional('rma_history'): str, + Optional('clei_code'): str, + Optional('eci_number'): str, + Optional('pid'): str, + Optional('vid'): str, + Optional('manufacturing_test_data'): str, + Optional('base_mac_address'): str, + Optional('field_diagnostics_data'): str, + Optional('environment_monitor_data'): str, + Optional('max_power_requirement_watts'): int, + Optional('typical_power_requirement_watts'): int } }, 'module': { Any(): { - 'controller_type': int, - 'hardware_revision': str, - 'top_assy_part_number': str, - 'top_assy_revision': str, - 'deviation_number': str, - 'pcb_serial_number': str, - 'rma_test_history': str, - 'rma_number': str, - 'rma_history': str, - 'clei_code': str, - 'eci_number': str, - 'pid': str, - 'vid': str, - 'manufacturing_test_data': str, - 'base_mac_address': str, - 'field_diagnostics_data': str, - 'environment_monitor_data': str, - 'max_power_requirement_watts': int, - 'typical_power_requirement_watts': int + Optional('controller_type'): int, + Optional('hardware_revision'): str, + Optional('top_assy_part_number'): str, + Optional('top_assy_revision'): str, + Optional('deviation_number'): str, + Optional('pcb_serial_number'): str, + Optional('rma_test_history'): str, + Optional('rma_number'): str, + Optional('rma_history'): str, + Optional('clei_code'): str, + Optional('eci_number'): str, + Optional('pid'): str, + Optional('vid'): str, + Optional('manufacturing_test_data'): str, + Optional('base_mac_address'): str, + Optional('field_diagnostics_data'): str, + Optional('environment_monitor_data'): str, + Optional('max_power_requirement_watts'): int, + Optional('typical_power_requirement_watts'): int } }, 'fantray': { - 'controller_type': int, - 'hardware_revision': str, - 'top_assy_part_number': str, - 'top_assy_revision': str, - 'deviation_number': str, - 'pcb_serial_number': str, - 'chassis_serial_number': str, - 'rma_test_history': str, - 'rma_number': str, - 'rma_history': str, - 'clei_code': str, - 'eci_number': str, - 'pid': str, - 'vid': str, - 'manufacturing_test_data': str, - 'field_diagnostics_data': str, - 'environment_monitor_data': str + Optional('controller_type'): int, + Optional('hardware_revision'): str, + Optional('top_assy_part_number'): str, + Optional('top_assy_revision'): str, + Optional('deviation_number'): str, + Optional('pcb_serial_number'): str, + Optional('chassis_serial_number'): str, + Optional('rma_test_history'): str, + Optional('rma_number'): str, + Optional('rma_history'): str, + Optional('clei_code'): str, + Optional('eci_number'): str, + Optional('pid'): str, + Optional('vid'): str, + Optional('manufacturing_test_data'): str, + Optional('field_diagnostics_data'): str, + Optional('environment_monitor_data'): str }, 'power_supply': { Any(): { - 'controller_type': int, - 'hardware_revision': str, - 'top_assy_part_number': str, - 'top_assy_revision': str, - 'deviation_number': str, - 'pcb_serial_number': str, - 'rma_test_history': str, - 'rma_number': str, - 'rma_history': str, - 'clei_code': str, - 'eci_number': str, - 'pid': str, - 'vid': str, - 'power_supply_type': str, - 'manufacturing_test_data': str, - 'field_diagnostics_data': str, - 'environment_monitor_data': str, - 'max_power_output_at_220v': int, - 'max_power_output_at_110v': int + Optional('controller_type'): int, + Optional('hardware_revision'): str, + Optional('top_assy_part_number'): str, + Optional('top_assy_revision'): str, + Optional('deviation_number'): str, + Optional('pcb_serial_number'): str, + Optional('rma_test_history'): str, + Optional('rma_number'): str, + Optional('rma_history'): str, + Optional('clei_code'): str, + Optional('eci_number'): str, + Optional('pid'): str, + Optional('vid'): str, + Optional('power_supply_type'): str, + Optional('manufacturing_test_data'): str, + Optional('field_diagnostics_data'): str, + Optional('environment_monitor_data'): str, + Optional('max_power_output_at_220v'): int, + Optional('max_power_output_at_110v'): int } } } @@ -180,10 +178,11 @@ def cli(self, output=None): #CLEI Code : INM5T00ARA p16 = re.compile(r'^CLEI +Code *: +(?P\S[\S ]*)$') + #ECI Number : 472475 p17 = re.compile(r'^ECI +Number *: +(?P\S[\S ]*)$') - + #Product Identifier (PID) : C9404R p18= re.compile(r'^Product +Identifier +\(PID\) *: +(?P\S[\S ]*)$') @@ -341,7 +340,7 @@ def cli(self, output=None): group = m.groupdict() idprom_dict.update({'eci_number' : group['eci_number']}) continue - + # Product Identifier (PID) : C9404R m = p18.match(line) if m: @@ -435,4 +434,4 @@ def cli(self, output=None): idprom_dict.update({'power_supply_type' : group['power_supply_type']}) continue - return ret_dict \ No newline at end of file + return ret_dict diff --git a/src/genie/libs/parser/iosxe/cat9k/c9400/tests/ShowIdprom/cli/equal/golden_output_1_expected.py b/src/genie/libs/parser/iosxe/cat9k/c9400/tests/ShowIdprom/cli/equal/golden_output_1_expected.py new file mode 100644 index 0000000000..0f4d333990 --- /dev/null +++ b/src/genie/libs/parser/iosxe/cat9k/c9400/tests/ShowIdprom/cli/equal/golden_output_1_expected.py @@ -0,0 +1,148 @@ +expected_output={ + 'idprom': { + 'midplane': { + 'controller_type': 3192, + 'hardware_revision': '1.0', + 'top_assy_part_number': '68-5288-01', + 'top_assy_revision': 'D0', + 'deviation_number': '0', + 'pcb_serial_number': 'FXS2230000R', + 'chassis_serial_number': 'FXS2231Q0R5', + 'rma_test_history': '00', + 'rma_number': '0-0-0-0', + 'rma_history': '00', + 'clei_code': 'INM3500BRA', + 'eci_number': '471644', + 'pid': 'C9407R', + 'vid': 'V01', + 'chassis_mac_address': '00ea.bd88.0440' + }, + 'supervisor': { + '1': { + 'controller_type': 3194, + 'hardware_revision': '1.0', + 'top_assy_part_number': '68-6264-03', + 'top_assy_revision': 'B0', + 'deviation_number': '0', + 'pcb_serial_number': 'JAE21390DQ2', + 'rma_test_history': '00', + 'rma_number': '0-0-0-0', + 'rma_history': '00', + 'clei_code': 'INCPAA5CAA', + 'eci_number': '199265', + 'pid': 'C9400-SUP-1', + 'vid': 'V01', + 'manufacturing_test_data': '00 00 00 00 00 00 00 00', + 'base_mac_address': '70 7D B9 CF AF 40', + 'field_diagnostics_data': '00 00 00 00 00 00 00 00', + 'environment_monitor_data': '06 00 00 00 12 01 90 00', + 'max_power_requirement_watts': 400, + 'typical_power_requirement_watts': 288 + }, + '2': { + 'controller_type': 3194, + 'hardware_revision': '1.0', + 'top_assy_part_number': '68-6264-03', + 'top_assy_revision': 'B0', + 'deviation_number': '0', + 'pcb_serial_number': 'JAE213801FZ', + 'rma_test_history': '00', + 'rma_number': '0-0-0-0', + 'rma_history': '00', + 'clei_code': 'INCPAA5CAA', + 'eci_number': '199265', + 'pid': 'C9400-SUP-1', + 'vid': 'V01', + 'manufacturing_test_data': '00 00 00 00 00 00 00 00', + 'base_mac_address': '40 CE 24 99 A3 E8', + 'field_diagnostics_data': '00 00 00 00 00 00 00 00', + 'environment_monitor_data': '06 00 00 00 12 01 90 00', + 'max_power_requirement_watts': 400, + 'typical_power_requirement_watts': 288 + } + }, + 'module': { + '1': { + 'controller_type': 3201, + 'hardware_revision': '1.0', + 'top_assy_part_number': '68-5158-05', + 'top_assy_revision': 'A0', + 'deviation_number': '0', + 'pcb_serial_number': 'JAE223201GX', + 'rma_test_history': '00', + 'rma_number': '0-0-0-0', + 'rma_history': '00', + 'clei_code': 'INUIABTEAA', + 'eci_number': '199200', + 'pid': 'C9400-LC-24XS', + 'vid': 'V01', + 'manufacturing_test_data': '00 00 00 00 00 00 00 00', + 'base_mac_address': '00 B7 71 31 7D 30', + 'field_diagnostics_data': '00 00 00 00 00 00 00 00', + 'environment_monitor_data': '06 00 00 00 09 10 C8 00', + 'max_power_requirement_watts': 200, + 'typical_power_requirement_watts': 145 + }, + '2': { + 'controller_type': 3195, + 'hardware_revision': '1.1', + 'top_assy_part_number': '68-5593-08', + 'top_assy_revision': 'A0', + 'deviation_number': '0', + 'pcb_serial_number': 'JAD22380DJT', + 'rma_test_history': '00', + 'rma_number': '0-0-0-0', + 'rma_history': '00', + 'clei_code': 'INUIABUEAB', + 'eci_number': '199957', + 'pid': 'C9400-LC-48U', + 'vid': 'V02', + 'manufacturing_test_data': '00 00 00 00 00 00 00 00', + 'base_mac_address': '70 6D 15 73 2A 20er Requirement: 62 Watts', + 'environment_monitor_data': '00 06 00 FA' + } + }, + 'fantray': { + 'controller_type': 3196, + 'hardware_revision': '1.0', + 'top_assy_part_number': '800-103451-01', + 'top_assy_revision': 'C1', + 'deviation_number': '0', + 'pcb_serial_number': 'FXS222902YW', + 'chassis_serial_number': 'FXS2231Q0DL', + 'rma_test_history': '00', + 'rma_number': '0-0-0-0', + 'rma_history': '00', + 'clei_code': 'INCPAA4CAA', + 'eci_number': '199257', + 'pid': 'C9407-FAN', + 'vid': 'V01', + 'manufacturing_test_data': '00 00 00 00 00 00 00 00', + 'field_diagnostics_data': '00 00 00 00 00 00 00 00', + 'environment_monitor_data': '03 00 00 00 1A E2 1C 00' + }, + 'power_supply': { + '1': { + 'controller_type': 3193, + 'hardware_revision': '1.1', + 'top_assy_part_number': '341-0566-01', + 'top_assy_revision': 'A0', + 'deviation_number': '0', + 'pcb_serial_number': 'DTM223500ZY', + 'rma_test_history': '00', + 'rma_number': '0-0-0-0', + 'rma_history': '00', + 'clei_code': 'IPUPAP9AAB', + 'eci_number': '826355769', + 'pid': 'C9400-PWR-3200AC', + 'vid': 'V01', + 'power_supply_type': 'AC', + 'manufacturing_test_data': '00 00 00 00 00 00 00 00', + 'field_diagnostics_data': '00 00 00 00 00 00 00 00', + 'environment_monitor_data': '02 00 62 2C 80 00 F0', + 'max_power_output_at_220v': 3200, + 'max_power_output_at_110v': 1570 + } + } + } +} diff --git a/src/genie/libs/parser/iosxe/cat9k/c9400/tests/ShowIdprom/cli/equal/golden_output_1_output.txt b/src/genie/libs/parser/iosxe/cat9k/c9400/tests/ShowIdprom/cli/equal/golden_output_1_output.txt new file mode 100644 index 0000000000..d7fdf986ed --- /dev/null +++ b/src/genie/libs/parser/iosxe/cat9k/c9400/tests/ShowIdprom/cli/equal/golden_output_1_output.txt @@ -0,0 +1,147 @@ +Midplane Idprom: + + Controller Type : 3192 + Hardware Revision : 1.0 + Top Assy. Part Number : 68-5288-01 + Top Assy. Revision : D0 + Deviation Number : 0 + PCB Serial Number : FXS2230000R + Chassis Serial Number : FXS2231Q0R5 + RMA Test History : 00 + RMA Number : 0-0-0-0 + RMA History : 00 + CLEI Code : INM3500BRA + ECI Number : 471644 + Product Identifier (PID) : C9407R + Version Identifier (VID) : V01 + Chassis MAC Address : 00ea.bd88.0440 +Supervisor 1 Idprom: + + Controller Type : 3194 + Hardware Revision : 1.0 + Top Assy. Part Number : 68-6264-03 + Top Assy. Revision : B0 + Deviation Number : 0 + PCB Serial Number : JAE21390DQ2 + RMA Test History : 00 + RMA Number : 0-0-0-0 + RMA History : 00 + CLEI Code : INCPAA5CAA + ECI Number : 199265 + Product Identifier (PID) : C9400-SUP-1 + Version Identifier (VID) : V01 + Manufacturing Test Data : 00 00 00 00 00 00 00 00 + Base MAC Address : 70 7D B9 CF AF 40 + Field Diagnostics Data : 00 00 00 00 00 00 00 00 + Environment Monitor Data : 06 00 00 00 12 01 90 00 + 57 + Max Power Requirement : 400 Watts + Typical Power Requirement: 288 Watts + Environment Monitor Data : 00 06 00 FA +Supervisor 2 Idprom: + + Controller Type : 3194 + Hardware Revision : 1.0 + Top Assy. Part Number : 68-6264-03 + Top Assy. Revision : B0 + Deviation Number : 0 + PCB Serial Number : JAE213801FZ + RMA Test History : 00 + RMA Number : 0-0-0-0 + RMA History : 00 + CLEI Code : INCPAA5CAA + ECI Number : 199265 + Product Identifier (PID) : C9400-SUP-1 + Version Identifier (VID) : V01 + Manufacturing Test Data : 00 00 00 00 00 00 00 00 + Base MAC Address : 40 CE 24 99 A3 E8 + Field Diagnostics Data : 00 00 00 00 00 00 00 00 + Environment Monitor Data : 06 00 00 00 12 01 90 00 + 57 + Max Power Requirement : 400 Watts + Typical Power Requirement: 288 Watts + Environment Monitor Data : 00 06 00 FA +Module 1 Idprom: + + Controller Type : 3201 + Hardware Revision : 1.0 + Top Assy. Part Number : 68-5158-05 + Top Assy. Revision : A0 + Deviation Number : 0 + PCB Serial Number : JAE223201GX + RMA Test History : 00 + RMA Number : 0-0-0-0 + RMA History : 00 + CLEI Code : INUIABTEAA + ECI Number : 199200 + Product Identifier (PID) : C9400-LC-24XS + Version Identifier (VID) : V01 + Manufacturing Test Data : 00 00 00 00 00 00 00 00 + Base MAC Address : 00 B7 71 31 7D 30 + Field Diagnostics Data : 00 00 00 00 00 00 00 00 + Environment Monitor Data : 06 00 00 00 09 10 C8 00 + 19 + Max Power Requirement : 200 Watts + Typical Power Requirement: 145 Watts + Environment Monitor Data : 00 06 00 FA +Module 2 Idprom: + + Controller Type : 3195 + Hardware Revision : 1.1 + Top Assy. Part Number : 68-5593-08 + Top Assy. Revision : A0 + Deviation Number : 0 + PCB Serial Number : JAD22380DJT + RMA Test History : 00 + RMA Number : 0-0-0-0 + RMA History : 00 + CLEI Code : INUIABUEAB + ECI Number : 199957 + Product Identifier (PID) : C9400-LC-48U + Version Identifier (VID) : V02 + Manufacturing Test Data : 00 00 00 00 00 00 00 00 + Base MAC Address : 70 6D 15 73 2A 20er Requirement: 62 Watts + Environment Monitor Data : 00 06 00 FA +Fan Tray Idprom: + + Controller Type : 3196 + Hardware Revision : 1.0 + Top Assy. Part Number : 800-103451-01 + Top Assy. Revision : C1 + Deviation Number : 0 + PCB Serial Number : FXS222902YW + Chassis Serial Number : FXS2231Q0DL + RMA Test History : 00 + RMA Number : 0-0-0-0 + RMA History : 00 + CLEI Code : INCPAA4CAA + ECI Number : 199257 + Product Identifier (PID) : C9407-FAN + Version Identifier (VID) : V01 + Manufacturing Test Data : 00 00 00 00 00 00 00 00 + Field Diagnostics Data : 00 00 00 00 00 00 00 00 + Environment Monitor Data : 03 00 00 00 1A E2 1C 00 + E5 + Environment Monitor Data : 00 06 00 FA +Power Supply 1 Idprom: + + Controller Type : 3193 + Hardware Revision : 1.1 + Top Assy. Part Number : 341-0566-01 + Top Assy. Revision : A0 + Deviation Number : 0 + PCB Serial Number : DTM223500ZY + RMA Test History : 00 + RMA Number : 0-0-0-0 + RMA History : 00 + CLEI Code : IPUPAP9AAB + ECI Number : 826355769 + Product Identifier (PID) : C9400-PWR-3200AC + Version Identifier (VID) : V01 + Power Supply Type : AC + Manufacturing Test Data : 00 00 00 00 00 00 00 00 + Field Diagnostics Data : 00 00 00 00 00 00 00 00 + Environment Monitor Data : 02 00 62 2C 80 00 F0 + Max Power Output at 220V : 3200 Watts + Max Power Output at 110V : 1570 Watts + Environment Monitor Data : 00 06 00 FA diff --git a/src/genie/libs/parser/iosxe/cat9k/c9500/show_igmp.py b/src/genie/libs/parser/iosxe/cat9k/c9500/show_igmp.py new file mode 100644 index 0000000000..ca35534c85 --- /dev/null +++ b/src/genie/libs/parser/iosxe/cat9k/c9500/show_igmp.py @@ -0,0 +1,77 @@ +""" +show_igmp.py + +IOSXE parsers for the following show commands: + + * show ip igmp snooping groups +""" + +# Python +import re + +# Metaparser +from genie.metaparser import MetaParser +from genie.metaparser.util.schemaengine import Schema, Any, Optional +from genie.libs.parser.utils.common import Common +from genie.parsergen import oper_fill_tabular + + +# ======================================================== +# Parser for 'show ip igmp snooping groups' +# ======================================================== + +class ShowIpIgmpSnoopingGroupsSchema(MetaParser): + """ + Schema for 'show ip igmp snooping groups' + """ + + schema = { + 'igmp_groups': { + Any(): { + Optional('vlan_id'): str, + Optional('type'): str, + Optional('version'): str, + Optional('port'): str + }, + } + } + +class ShowIpIgmpSnoopingGroups(ShowIpIgmpSnoopingGroupsSchema): + """ + Parser for 'show ip igmp snooping groups' + """ + cli_command = 'show ip igmp snooping groups' + + def cli(self, output=None): + if output is None: + out = self.device.execute(self.cli_command) + else: + out = output + + # initial variables + igmp_dict = {} + + # 12 224.0.1.40 I v2 Po92 + p1 = re.compile(r'^(?P\d+) +(?P[\d\.]+) +(?P\w+) +(?P\w+) +(?P[\S,\s]+)$') + + # 12 225.0.0.1 S Po92 + p1_0 = re.compile(r'^(?P\d+) +(?P[\d\.]+) +(?P\w+) +(?P[\S,\s]+)$') + + for line in out.splitlines(): + line = line.strip() + + # 12 224.0.1.40 I v2 Po92 + m = p1.match(line) + if m: + group = m.groupdict() + igmp_dict.setdefault('igmp_groups', {}).setdefault(group.pop('group_ip'), group) + continue + + # 12 225.0.0.1 S Po92 + m = p1_0.match(line) + if m: + group = m.groupdict() + igmp_dict.setdefault('igmp_groups', {}).setdefault(group.pop('group_ip'), group) + continue + + return igmp_dict diff --git a/src/genie/libs/parser/iosxe/cat9k/c9500/tests/ShowIpIgmpSnoopingGroups/cli/equal/golden_output_expected.py b/src/genie/libs/parser/iosxe/cat9k/c9500/tests/ShowIpIgmpSnoopingGroups/cli/equal/golden_output_expected.py new file mode 100644 index 0000000000..5e6145b50c --- /dev/null +++ b/src/genie/libs/parser/iosxe/cat9k/c9500/tests/ShowIpIgmpSnoopingGroups/cli/equal/golden_output_expected.py @@ -0,0 +1,15 @@ +expected_output = { + 'igmp_groups': { + '224.0.1.40': { + 'port': 'Po92', + 'type': 'I', + 'version': 'v2', + 'vlan_id': '12' + }, + '225.0.0.1': { + 'port': 'Po92', + 'type': 'S', + 'vlan_id': '12' + } + } +} diff --git a/src/genie/libs/parser/iosxe/cat9k/c9500/tests/ShowIpIgmpSnoopingGroups/cli/equal/golden_output_output.txt b/src/genie/libs/parser/iosxe/cat9k/c9500/tests/ShowIpIgmpSnoopingGroups/cli/equal/golden_output_output.txt new file mode 100644 index 0000000000..5fcae16cb4 --- /dev/null +++ b/src/genie/libs/parser/iosxe/cat9k/c9500/tests/ShowIpIgmpSnoopingGroups/cli/equal/golden_output_output.txt @@ -0,0 +1,6 @@ +Flags: I -- IGMP snooping, S -- Static, E -- EVPN sync + +Vlan Group Type Version Port List +----------------------------------------------------------------------- +12 225.0.0.1 S Po92 +12 224.0.1.40 I v2 Po92 \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/cat9k/c9610/show_idprom.py b/src/genie/libs/parser/iosxe/cat9k/c9610/show_idprom.py new file mode 100644 index 0000000000..907e1cc22f --- /dev/null +++ b/src/genie/libs/parser/iosxe/cat9k/c9610/show_idprom.py @@ -0,0 +1,158 @@ +'''show_idprom.py + +IOSXE parsers for the following show commands: + + * show idprom all eeprom +''' +import re +from genie.metaparser import MetaParser +from genie.metaparser.util.schemaengine import Any, Optional, Or + + +class ShowIdpromEepromSchema(MetaParser): + """Schema for 'show idprom all eeprom'""" + schema = { + 'midplane': { + 'pid': str, + 'vid': str, + 'pcb_serial_number': str, + 'top_assy_revision': str, + 'hardware_revision': str, + Optional('clei_code'): str + }, + 'power_fan_module': { + Any(): { + 'pid': str, + 'vid': str, + 'pcb_serial_number': str, + 'top_assy_revision': str, + 'hardware_revision': str, + Optional('clei_code'): str + } + }, + 'slot': { + Any(): { + 'pid': str, + 'vid': str, + 'pcb_serial_number': str, + 'top_assy_revision': str, + 'hardware_revision': str, + Optional('clei_code'): str + } + }, + 'spa': { + Any(): { + 'pid': str, + 'vid': str, + 'pcb_serial_number': str, + 'top_assy_revision': str, + 'hardware_revision': str, + 'clei_code': str + } + } + } + +class ShowIdpromEeprom(ShowIdpromEepromSchema): + """Parser for 'show idprom all eeprom'""" + cli_command = 'show idprom all eeprom' + + def cli(self, output=None): + if output is None: + output = self.device.execute(self.cli_command) + + ret_dict = {} + + # MIDPLANE EEPROM data: + p1 = re.compile(r'^MIDPLANE EEPROM data:$') + + # Power/Fan Module P5 EEPROM data: + p2 = re.compile(r'^Power/Fan Module P(?P\d+) EEPROM data:$') + + # Slot R0 EEPROM data: + p3 = re.compile(r'^Slot R(?P\d+) EEPROM data:$') + + # SPA EEPROM data for subslot 1/0: + p4 = re.compile(r'^SPA EEPROM data for subslot (?P\d+/\d+):$') + + # Product Identifier (PID) : C9610R + p5 = re.compile(r'^Product Identifier \(PID\) *: +(?P\S+)$') + + # Version Identifier (VID) : V00 + p6 = re.compile(r'^Version Identifier \(VID\) *: +(?P\S+)$') + + # PCB Serial Number : FOC28101LZB + p7 = re.compile(r'^PCB Serial Number *: +(?P\S+)$') + + # Top Assy. Revision : 18 + p8 = re.compile(r'^Top Assy\. Revision *: +(?P\S+)$') + + # Hardware Revision : 0.2 + p9 = re.compile(r'^Hardware Revision *: +(?P\S+)$') + + # CLEI Code : + p10 = re.compile(r'^CLEI Code *: +(?P\S+)$') + + for line in output.splitlines(): + line = line.strip() + + # MIDPLANE EEPROM data: + m = p1.match(line) + if m: + eeprom_dict = ret_dict.setdefault('midplane', {}) + continue + + # Power/Fan Module P5 EEPROM data: + m = p2.match(line) + if m: + eeprom_dict = ret_dict.setdefault('power_fan_module', {}).setdefault(int(m.group('number')), {}) + continue + + # Slot R0 EEPROM data: + m = p3.match(line) + if m: + eeprom_dict = ret_dict.setdefault('slot', {}).setdefault(int(m.group('number')), {}) + continue + + # SPA EEPROM data for subslot 1/0: + m = p4.match(line) + if m: + eeprom_dict = ret_dict.setdefault('spa', {}).setdefault(m.group('slot'), {}) + continue + + # Product Identifier (PID) : C9610R + m = p5.match(line) + if m: + eeprom_dict['pid'] = m.group('pid') + continue + + # Version Identifier (VID) : V00 + m = p6.match(line) + if m: + eeprom_dict['vid'] = m.group('vid') + continue + + # PCB Serial Number : FOC28101LZB + m = p7.match(line) + if m: + eeprom_dict['pcb_serial_number'] = m.group('pcb_serial_number') + continue + + # Top Assy. Revision : 18 + m = p8.match(line) + if m: + eeprom_dict['top_assy_revision'] = m.group('top_assy_revision') + continue + + # Hardware Revision : 0.2 + m = p9.match(line) + if m: + eeprom_dict['hardware_revision'] = m.group('hardware_revision') + continue + + # CLEI Code : + m = p10.match(line) + if m: + eeprom_dict['clei_code'] = m.group('clei_code') + continue + + return ret_dict diff --git a/src/genie/libs/parser/iosxe/cat9k/c9610/tests/ShowIdpromEeprom/cli/empty/empty_output_output.txt b/src/genie/libs/parser/iosxe/cat9k/c9610/tests/ShowIdpromEeprom/cli/empty/empty_output_output.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/genie/libs/parser/iosxe/cat9k/c9610/tests/ShowIdpromEeprom/cli/equal/golden_output_expected.py b/src/genie/libs/parser/iosxe/cat9k/c9610/tests/ShowIdpromEeprom/cli/equal/golden_output_expected.py new file mode 100644 index 0000000000..6f47892509 --- /dev/null +++ b/src/genie/libs/parser/iosxe/cat9k/c9610/tests/ShowIdpromEeprom/cli/equal/golden_output_expected.py @@ -0,0 +1,105 @@ +expected_output = { + 'midplane': { + 'hardware_revision': '0.2', + 'pcb_serial_number': 'FOC28101LZB', + 'pid': 'C9610R', + 'top_assy_revision': '18', + 'vid': 'V00', + }, + 'power_fan_module': { + 10: { + 'hardware_revision': '0.2', + 'pcb_serial_number': 'FOC28101M5C', + 'pid': 'C9610-FAN', + 'top_assy_revision': '05', + 'vid': 'V00', + }, + 11: { + 'hardware_revision': '0.2', + 'pcb_serial_number': 'FOC28101M5F', + 'pid': 'C9610-FAN', + 'top_assy_revision': '05', + 'vid': 'V00', + }, + 12: { + 'hardware_revision': '0.2', + 'pcb_serial_number': 'FOC28101M59', + 'pid': 'C9610-FAN', + 'top_assy_revision': '05', + 'vid': 'V00', + }, + 5: { + 'clei_code': 'COUPAHHBAA', + 'hardware_revision': '1.0', + 'pcb_serial_number': 'POG2745D664', + 'pid': 'C9600-PWR-2KWAC', + 'top_assy_revision': 'C0', + 'vid': 'V01', + }, + 6: { + 'clei_code': 'COUPAHHBAA', + 'hardware_revision': '1.0', + 'pcb_serial_number': 'QCS28024XWN', + 'pid': 'C9600-PWR-2KWAC', + 'top_assy_revision': 'C0', + 'vid': 'V01', + }, + 7: { + 'clei_code': 'COUPAHKBAA', + 'hardware_revision': '1.0', + 'pcb_serial_number': 'DTM2701019T', + 'pid': 'C9600-PWR-3KWAC', + 'top_assy_revision': 'A0', + 'vid': 'V01', + }, + 8: { + 'clei_code': 'COUPAHKBAA', + 'hardware_revision': '1.0', + 'pcb_serial_number': 'DTM2701018K', + 'pid': 'C9600-PWR-3KWAC', + 'top_assy_revision': 'A0', + 'vid': 'V01', + }, + 9: { + 'hardware_revision': '0.2', + 'pcb_serial_number': 'FOC28101M63', + 'pid': 'C9610-FAN', + 'top_assy_revision': '05', + 'vid': 'V00', + }, + }, + 'slot': { + 0: { + 'hardware_revision': '0.4', + 'pcb_serial_number': 'FDO2814120H', + 'pid': 'C9610-SUP-3', + 'top_assy_revision': '10', + 'vid': 'V00', + }, + 1: { + 'hardware_revision': '0.4', + 'pcb_serial_number': 'FDO2814121V', + 'pid': 'C9610-SUP-3', + 'top_assy_revision': '10', + 'vid': 'V00', + }, + }, + 'spa': { + '1/0': { + 'clei_code': 'CMUIAXWCAA', + 'hardware_revision': '1.0', + 'pcb_serial_number': 'FDO2809067Q', + 'pid': 'C9600-LC-40YL4CD', + 'top_assy_revision': 'D1', + 'vid': 'V01', + }, + '9/0': { + 'clei_code': 'CMUIAXWCAA', + 'hardware_revision': '1.0', + 'pcb_serial_number': 'FDO28090682', + 'pid': 'C9600-LC-40YL4CD', + 'top_assy_revision': 'D1', + 'vid': 'V01', + }, + }, +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/cat9k/c9610/tests/ShowIdpromEeprom/cli/equal/golden_output_output.txt b/src/genie/libs/parser/iosxe/cat9k/c9610/tests/ShowIdpromEeprom/cli/equal/golden_output_output.txt new file mode 100644 index 0000000000..fdbdfb0494 --- /dev/null +++ b/src/genie/libs/parser/iosxe/cat9k/c9610/tests/ShowIdpromEeprom/cli/equal/golden_output_output.txt @@ -0,0 +1,113 @@ +MIDPLANE EEPROM data: + + Product Identifier (PID) : C9610R + Version Identifier (VID) : V00 + PCB Serial Number : FOC28101LZB + Top Assy. Revision : 18 + Hardware Revision : 0.2 + CLEI Code : +Power/Fan Module P1 EEPROM data is not initialized + +Power/Fan Module P2 EEPROM data is not initialized + +Power/Fan Module P3 EEPROM data is not initialized + +Power/Fan Module P4 EEPROM data is not initialized + +Power/Fan Module P5 EEPROM data: + + Product Identifier (PID) : C9600-PWR-2KWAC + Version Identifier (VID) : V01 + PCB Serial Number : POG2745D664 + Top Assy. Revision : C0 + Hardware Revision : 1.0 + CLEI Code : COUPAHHBAA +Power/Fan Module P6 EEPROM data: + + Product Identifier (PID) : C9600-PWR-2KWAC + Version Identifier (VID) : V01 + PCB Serial Number : QCS28024XWN + Top Assy. Revision : C0 + Hardware Revision : 1.0 + CLEI Code : COUPAHHBAA +Power/Fan Module P7 EEPROM data: + + Product Identifier (PID) : C9600-PWR-3KWAC + Version Identifier (VID) : V01 + PCB Serial Number : DTM2701019T + Top Assy. Revision : A0 + Hardware Revision : 1.0 + CLEI Code : COUPAHKBAA +Power/Fan Module P8 EEPROM data: + + Product Identifier (PID) : C9600-PWR-3KWAC + Version Identifier (VID) : V01 + PCB Serial Number : DTM2701018K + Top Assy. Revision : A0 + Hardware Revision : 1.0 + CLEI Code : COUPAHKBAA +Power/Fan Module P9 EEPROM data: + + Product Identifier (PID) : C9610-FAN + Version Identifier (VID) : V00 + PCB Serial Number : FOC28101M63 + Top Assy. Revision : 05 + Hardware Revision : 0.2 + CLEI Code : +Power/Fan Module P10 EEPROM data: + + Product Identifier (PID) : C9610-FAN + Version Identifier (VID) : V00 + PCB Serial Number : FOC28101M5C + Top Assy. Revision : 05 + Hardware Revision : 0.2 + CLEI Code : +Power/Fan Module P11 EEPROM data: + + Product Identifier (PID) : C9610-FAN + Version Identifier (VID) : V00 + PCB Serial Number : FOC28101M5F + Top Assy. Revision : 05 + Hardware Revision : 0.2 + CLEI Code : +Power/Fan Module P12 EEPROM data: + + Product Identifier (PID) : C9610-FAN + Version Identifier (VID) : V00 + PCB Serial Number : FOC28101M59 + Top Assy. Revision : 05 + Hardware Revision : 0.2 + CLEI Code : +Slot R0 EEPROM data: + + Product Identifier (PID) : C9610-SUP-3 + Version Identifier (VID) : V00 + PCB Serial Number : FDO2814120H + Top Assy. Revision : 10 + Hardware Revision : 0.4 + CLEI Code : + +Slot R1 EEPROM data: + + Product Identifier (PID) : C9610-SUP-3 + Version Identifier (VID) : V00 + PCB Serial Number : FDO2814121V + Top Assy. Revision : 10 + Hardware Revision : 0.4 + CLEI Code : +SPA EEPROM data for subslot 1/0: + + Product Identifier (PID) : C9600-LC-40YL4CD + Version Identifier (VID) : V01 + PCB Serial Number : FDO2809067Q + Top Assy. Revision : D1 + Hardware Revision : 1.0 + CLEI Code : CMUIAXWCAA +SPA EEPROM data for subslot 9/0: + + Product Identifier (PID) : C9600-LC-40YL4CD + Version Identifier (VID) : V01 + PCB Serial Number : FDO28090682 + Top Assy. Revision : D1 + Hardware Revision : 1.0 + CLEI Code : CMUIAXWCAA diff --git a/src/genie/libs/parser/iosxe/rv1/show_platform.py b/src/genie/libs/parser/iosxe/rv1/show_platform.py new file mode 100644 index 0000000000..02cee71f16 --- /dev/null +++ b/src/genie/libs/parser/iosxe/rv1/show_platform.py @@ -0,0 +1,124 @@ + +import re +import logging + +# Metaparser +from genie.metaparser import MetaParser +from genie.metaparser.util.schemaengine import Schema, Any, Or, Optional, Use, And +from genie.libs.parser.utils.common import Common + +# pyATS +from pyats.utils.exceptions import SchemaTypeError + +log = logging.getLogger(__name__) + +class ShowProcessesCpuPlatformSortedSchema(MetaParser): + """Schema for show processes cpu platform sorted""" + schema = { + Optional('cpu_utilization'): { + Optional('five_sec_cpu_total'): float, + Optional('one_min_cpu'): float, + Optional('five_min_cpu'): float, + Optional('core'): { + Any(): { + 'core_cpu_util_five_secs': float, + 'core_cpu_util_one_min': float, + 'core_cpu_util_five_min': float, + }, + } + }, + 'sort': { + Any(): { + 'ppid': int, + 'five_sec_cpu': float, + 'one_min_cpu': float, + 'five_min_cpu': float, + 'status': str, + 'size': int, + 'process': str, + }, + } + } + +class ShowProcessesCpuPlatformSorted(ShowProcessesCpuPlatformSortedSchema): + """Parser for show processes cpu platform sorted""" + + cli_command = ['show processes cpu platform sorted', 'show processes cpu platform sorted | exclude {exclude}'] + exclude = ['five_min_cpu', 'nonzero_cpu_processes', 'zero_cpu_processes', 'invoked', + 'runtime', 'usecs', 'five_sec_cpu', 'one_min_cpu'] + + def cli(self, exclude=None, output=None): + if output is None: + if exclude: + self.cli_command = self.cli_command[1].format(exclude=exclude) + else: + self.cli_command = self.cli_command[0] + output = self.device.execute(self.cli_command) + # initial return dictionary + ret_dict = {} + index = 0 + + # initial regexp pattern + + # CPU utilization for five seconds: 43%, one minute: 44%, five minutes: 44% + p1 = re.compile(r'^CPU +utilization +for +five +seconds: +(?P[\d\%]+),' + ' +one +minute: +(?P[\d\%]+),' + ' +five +minutes: +(?P[\d\%]+)$') + + # Core 0: CPU utilization for five seconds: 6%, one minute: 11%, five minutes: 11% + p2 = re.compile(r'^(?P[\w\s]+): +CPU +utilization +for' + ' +five +seconds: +(?P\d+\%+),' + ' +one +minute: +(?P[\d+\%]+),' + ' +five +minutes: +(?P[\d+\%]+)$') + + # 21188 21176 599% 600% 599% R 478632 ucode_pkt_PPE0 + p3 = re.compile(r'^(?P\d+) +(?P\d+)' + ' +(?P[\d\%]+) +(?P[\d\%]+)' + ' +(?P[\d\%]+) +(?P[\w]+)' + ' +(?P\d+) +(?P.*)$') + + for line in output.splitlines(): + line = line.strip() + + # CPU utilization for five seconds: 2%, one minute: 5%, five minutes: 22% + m = p1.match(line) + if m: + group = m.groupdict() + ret_dict.setdefault('cpu_utilization', {}) + ret_dict['cpu_utilization']['five_sec_cpu_total'] = float(re.search(r'\d+', group['five_sec_cpu_total']).group())/100 + ret_dict['cpu_utilization']['one_min_cpu'] = float(re.search(r'\d+', group['one_min_cpu']).group())/100 + ret_dict['cpu_utilization']['five_min_cpu'] = float(re.search(r'\d+', group['five_min_cpu']).group())/100 + continue + + # Core 0: CPU utilization for five seconds: 2%, one minute: 8%, five minutes: 18% + m = p2.match(line) + if m: + group = m.groupdict() + core = group.pop('core') + if 'cpu_utilization' not in ret_dict: + ret_dict.setdefault('cpu_utilization', {}) + ret_dict['cpu_utilization'].setdefault('core', {}).setdefault(core, {}) + ret_dict['cpu_utilization']['core'][core]['core_cpu_util_five_secs'] = float(re.search(r'\d+', group['core_cpu_util_five_secs']).group())/100 + ret_dict['cpu_utilization']['core'][core]['core_cpu_util_one_min'] = float(re.search(r'\d+', group['core_cpu_util_one_min']).group())/100 + ret_dict['cpu_utilization']['core'][core]['core_cpu_util_five_min'] = float(re.search(r'\d+', group['core_cpu_util_five_min']).group())/100 + + # Pid PPid 5Sec 1Min 5Min Status Size Name + # -------------------------------------------------------------------------------- + # 1 0 0% 0% 0% S 1863680 init + # 2 0 0% 0% 0% S 0 kthreadd + # 3 2 0% 0% 0% S 0 migration/0 + m = p3.match(line) + if m: + group = m.groupdict() + ret_dict.setdefault('sort', {}).setdefault(index, {}) + ret_dict['sort'][index]['ppid'] = int(group['ppid']) + ret_dict['sort'][index]['five_sec_cpu'] = float(re.search(r'\d+', group['five_sec_cpu']).group())/100 + ret_dict['sort'][index]['one_min_cpu'] = float(re.search(r'\d+', group['one_min_cpu']).group())/100 + ret_dict['sort'][index]['five_min_cpu'] = float(re.search(r'\d+', group['five_min_cpu']).group())/100 + ret_dict['sort'][index]['status'] = group['status'] + ret_dict['sort'][index]['size'] = int(group['size']) + ret_dict['sort'][index]['process'] = group['process'] + index += 1 + continue + + return ret_dict \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/rv1/tests/ShowProcessesCpuPlatformSorted/cli/equal/golden_output_1_arguments.json b/src/genie/libs/parser/iosxe/rv1/tests/ShowProcessesCpuPlatformSorted/cli/equal/golden_output_1_arguments.json new file mode 100644 index 0000000000..b9fb0ffaa8 --- /dev/null +++ b/src/genie/libs/parser/iosxe/rv1/tests/ShowProcessesCpuPlatformSorted/cli/equal/golden_output_1_arguments.json @@ -0,0 +1,3 @@ +{ + "exclude" : "0%" +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/rv1/tests/ShowProcessesCpuPlatformSorted/cli/equal/golden_output_1_expected.py b/src/genie/libs/parser/iosxe/rv1/tests/ShowProcessesCpuPlatformSorted/cli/equal/golden_output_1_expected.py new file mode 100644 index 0000000000..97c238f277 --- /dev/null +++ b/src/genie/libs/parser/iosxe/rv1/tests/ShowProcessesCpuPlatformSorted/cli/equal/golden_output_1_expected.py @@ -0,0 +1,87 @@ +expected_output = {{ + 'cpu_utilization': { + 'five_sec_cpu_total': 0.01, + 'one_min_cpu': 0.01, + 'five_min_cpu': 0.01, + 'core': { + 'Core 0': { + 'core_cpu_util_five_secs': 0.01, + 'core_cpu_util_one_min': 0.01, + 'core_cpu_util_five_min': 0.01 + }, + 'Core 1': { + 'core_cpu_util_five_secs': 0.01, + 'core_cpu_util_one_min': 0.01, + 'core_cpu_util_five_min': 0.01 + }, + 'Core 2': { + 'core_cpu_util_five_secs': 0.01, + 'core_cpu_util_one_min': 0.01, + 'core_cpu_util_five_min': 0.01 + }, + 'Core 3': { + 'core_cpu_util_five_secs': 0.01, + 'core_cpu_util_one_min': 0.01, + 'core_cpu_util_five_min': 0.01 + }, + 'Core 4': { + 'core_cpu_util_five_secs': 0.01, + 'core_cpu_util_one_min': 0.01, + 'core_cpu_util_five_min': 0.01 + }, + 'Core 5': { + 'core_cpu_util_five_secs': 0.01, + 'core_cpu_util_one_min': 0.01, + 'core_cpu_util_five_min': 0.01 + }, + 'Core 6': { + 'core_cpu_util_five_secs': 0.01, + 'core_cpu_util_one_min': 0.02, + 'core_cpu_util_five_min': 0.01 + }, + 'Core 7': { + 'core_cpu_util_five_secs': 0.01, + 'core_cpu_util_one_min': 0.01, + 'core_cpu_util_five_min': 0.01 + } + } + }, + 'sort': { + 0: { + 'ppid': 15826, + 'five_sec_cpu': 0.02, + 'one_min_cpu': 0.01, + 'five_min_cpu': 0.01, + 'status': 'S', + 'size': 794172, + 'process': 'linux_iosd-imag' + }, + 1: { + 'ppid': 17811, + 'five_sec_cpu': 0.01, + 'one_min_cpu': 0.01, + 'five_min_cpu': 0.01, + 'status': 'S', + 'size': 299824, + 'process': 'fed main event' + }, + 2: { + 'ppid': 10404, + 'five_sec_cpu': 0.01, + 'one_min_cpu': 0.01, + 'five_min_cpu': 0.01, + 'status': 'S', + 'size': 55952, + 'process': 'sif_mgr' + }, + 3: { + 'ppid': 1, + 'five_sec_cpu': 0.01, + 'one_min_cpu': 0.01, + 'five_min_cpu': 0.01, + 'status': 'S', + 'size': 8612, + 'process': 'chasync.sh' + } + } +}} diff --git a/src/genie/libs/parser/iosxe/rv1/tests/ShowProcessesCpuPlatformSorted/cli/equal/golden_output_1_output.txt b/src/genie/libs/parser/iosxe/rv1/tests/ShowProcessesCpuPlatformSorted/cli/equal/golden_output_1_output.txt new file mode 100644 index 0000000000..0aca1c8ee0 --- /dev/null +++ b/src/genie/libs/parser/iosxe/rv1/tests/ShowProcessesCpuPlatformSorted/cli/equal/golden_output_1_output.txt @@ -0,0 +1,15 @@ +CPU utilization for five seconds: 1%, one minute: 1%, five minutes: 1% +Core 0: CPU utilization for five seconds: 1%, one minute: 1%, five minutes: 1% +Core 1: CPU utilization for five seconds: 1%, one minute: 1%, five minutes: 1% +Core 2: CPU utilization for five seconds: 1%, one minute: 1%, five minutes: 1% +Core 3: CPU utilization for five seconds: 1%, one minute: 1%, five minutes: 1% +Core 4: CPU utilization for five seconds: 1%, one minute: 1%, five minutes: 1% +Core 5: CPU utilization for five seconds: 1%, one minute: 1%, five minutes: 1% +Core 6: CPU utilization for five seconds: 1%, one minute: 2%, five minutes: 1% +Core 7: CPU utilization for five seconds: 1%, one minute: 1%, five minutes: 1% + Pid PPid 5Sec 1Min 5Min Status Size Name +-------------------------------------------------------------------------------- + 16401 15826 2% 1% 1% S 794172 linux_iosd-imag + 18460 17811 1% 1% 1% S 299824 fed main event + 10876 10404 1% 1% 1% S 55952 sif_mgr + 9153 1 1% 1% 1% S 8612 chasync.sh \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/rv1/tests/ShowProcessesCpuPlatformSorted/cli/equal/golden_output_2_arguments.json b/src/genie/libs/parser/iosxe/rv1/tests/ShowProcessesCpuPlatformSorted/cli/equal/golden_output_2_arguments.json new file mode 100644 index 0000000000..b9fb0ffaa8 --- /dev/null +++ b/src/genie/libs/parser/iosxe/rv1/tests/ShowProcessesCpuPlatformSorted/cli/equal/golden_output_2_arguments.json @@ -0,0 +1,3 @@ +{ + "exclude" : "0%" +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/rv1/tests/ShowProcessesCpuPlatformSorted/cli/equal/golden_output_2_expected.py b/src/genie/libs/parser/iosxe/rv1/tests/ShowProcessesCpuPlatformSorted/cli/equal/golden_output_2_expected.py new file mode 100644 index 0000000000..f340095f16 --- /dev/null +++ b/src/genie/libs/parser/iosxe/rv1/tests/ShowProcessesCpuPlatformSorted/cli/equal/golden_output_2_expected.py @@ -0,0 +1,70 @@ +expected_output = { + 'cpu_utilization': { + 'core': { + 'Core 2': { + 'core_cpu_util_five_secs': 0.03, + 'core_cpu_util_one_min': 0.14, + 'core_cpu_util_five_min': 0.04 + }, + 'Core 5': { + 'core_cpu_util_five_secs': 0.03, + 'core_cpu_util_one_min': 0.02, + 'core_cpu_util_five_min': 0.01 + }, + 'Core 9': { + 'core_cpu_util_five_secs': 0.02, + 'core_cpu_util_one_min': 0.11, + 'core_cpu_util_five_min': 0.14 + }, + 'Core 10': { + 'core_cpu_util_five_secs': 0.03, + 'core_cpu_util_one_min': 0.01, + 'core_cpu_util_five_min': 0.01 + }, + 'Core 11': { + 'core_cpu_util_five_secs': 0.01, + 'core_cpu_util_one_min': 0.12, + 'core_cpu_util_five_min': 0.04 + }, + 'Core 14': { + 'core_cpu_util_five_secs': 0.99, + 'core_cpu_util_one_min': 0.28, + 'core_cpu_util_five_min': 0.07 + }, + 'Core 15': { + 'core_cpu_util_five_secs': 0.02, + 'core_cpu_util_one_min': 0.01, + 'core_cpu_util_five_min': 0.04 + } + } + }, + 'sort': { + 0: { + 'ppid': 6680, + 'five_sec_cpu': 0.07, + 'one_min_cpu': 0.06, + 'five_min_cpu': 0.06, + 'status': 'S', + 'size': 49360, + 'process': 'btman' + }, + 1: { + 'ppid': 23289, + 'five_sec_cpu': 0.02, + 'one_min_cpu': 0.03, + 'five_min_cpu': 0.03, + 'status': 'S', + 'size': 149208, + 'process': 'mcpcc-lc-ms' + }, + 2: { + 'ppid': 21207, + 'five_sec_cpu': 0.01, + 'one_min_cpu': 0.01, + 'five_min_cpu': 0.01, + 'status': 'S', + 'size': 65440, + 'process': 'ezman' + } + } +} diff --git a/src/genie/libs/parser/iosxe/rv1/tests/ShowProcessesCpuPlatformSorted/cli/equal/golden_output_2_output.txt b/src/genie/libs/parser/iosxe/rv1/tests/ShowProcessesCpuPlatformSorted/cli/equal/golden_output_2_output.txt new file mode 100644 index 0000000000..ebf47adf7b --- /dev/null +++ b/src/genie/libs/parser/iosxe/rv1/tests/ShowProcessesCpuPlatformSorted/cli/equal/golden_output_2_output.txt @@ -0,0 +1,23 @@ +Core 2: CPU utilization for five seconds: 3%, one minute: 14%, five minutes: 4% + +Core 5: CPU utilization for five seconds: 3%, one minute: 2%, five minutes: 1% + +Core 9: CPU utilization for five seconds: 2%, one minute: 11%, five minutes: 14% + +Core 10: CPU utilization for five seconds: 3%, one minute: 1%, five minutes: 1% + +Core 11: CPU utilization for five seconds: 1%, one minute: 12%, five minutes: 4% + +Core 14: CPU utilization for five seconds: 99%, one minute: 28%, five minutes: 7% + +Core 15: CPU utilization for five seconds: 2%, one minute: 1%, five minutes: 4% + + Pid PPid 5Sec 1Min 5Min Status Size Name + +-------------------------------------------------------------------------------- + + 6686 6680 7% 6% 6% S 49360 btman + + 23297 23289 2% 3% 3% S 149208 mcpcc-lc-ms + + 21214 21207 1% 1% 1% S 65440 ezman \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/show_controller.py b/src/genie/libs/parser/iosxe/show_controller.py index 2f58d7dc51..a0e5d4b675 100644 --- a/src/genie/libs/parser/iosxe/show_controller.py +++ b/src/genie/libs/parser/iosxe/show_controller.py @@ -1551,7 +1551,8 @@ def cli(self, interface, output=None): return ret_dict - + + class ShowControllersEthernetControllerPortInfoSchema(MetaParser): """ Schema for 'show controllers ethernet-controller tenGigabitEthernet {interface} port-info' @@ -1789,5 +1790,933 @@ def cli(self, interface, output=None): continue return ret_dict + +class ShowControllerEthernetControllerInterfaceMacSchema(MetaParser): + """Schema for show platform hardware fed switch active npu slot 1 port 23 link_status""" + + schema = { + 'npu_pdsf_procagent_get_eye_common':str, + 'mpp_port_detai1': { + Any(): { + 'mac_state_histogram': { + Any(): Or(int,str), + }, + 'mac_port_config': { + Any(): Or(int,str), + }, + 'mac_port_status': { + Any(): Or(int,str), + }, + 'mib_counters': { + Any(): Or(int,str), + }, + Optional('state_transition_history'): { + Any():{ + 'state': str, + 'timestamp': str, + }, + }, + }, + }, + 'multiport_detail': { + Any(): { + 'device_info': { + Any(): str, + }, + 'mac_state_histogram':{ + Any(): Or(int,str), + 'serdes_0': { + Any(): Or(int,str), + }, + }, + 'mac_port_config': { + Any(): Or(int,str), + 'serdes_info': { + Any(): Or(int,str), + }, + }, + 'mac_port_status': { + 'am_lock': { + Any(): str, + }, + Any(): Or(int,str), + 'mac_pcs_lane_mapping': { + Any(): Or(int,str), + }, + }, + 'mac_port_soft_state': { + Any(): Or(int,str), + }, + 'mib_counters': { + Any(): Or(int,str), + Optional('tx_mac_tc_fc_frames_ok'): { + Any(): Or(int,str), + }, + Optional('tx_xoff_state_duration'): { + Any(): Or(int,str), + }, + Optional('rx_mac_tc_fc_frames_ok'): { + Any(): Or(int,str), + }, + Optional('rx_xoff_state_duration'): { + Any(): Or(int,str), + }, + }, + 'test_mode': { + Any(): Or(int,str), + }, + 'state_transition_history': { + Any():{ + 'state': str, + 'timestamp': str, + }, + }, + 'serdes_parameters': { + 'index_0': { + Any(): Or(int,str), + }, + }, + 'serdes_config':{ + 'serdes_settings': { + 'rx_settings': { + Any(): Or(int,str), + 'targ_shadow':{ + Any(): Or(int,str), + } + }, + 'tx_settings': { + Any(): Or(int,str), + 'tx_fir': { + Any(): Or(int,str), + }, + }, + 'flow_chart_settings': { + Any(): Or(int,str), + }, + }, + }, + 'serdes_status':{ + 'firmware_version': { + Any(): str, + }, + 'rx_status': { + Any(): Or(int,str), + 'firs': { + Any(): Or(int,str), + } + }, + 'fw_rx_status': { + Any(): Or(int,str), + }, + 'fir_shadow': { + Any(): Or(int,str), + }, + }, + 'eye_capture':{ + 'veye_data': { + Any(): Or(int,str), + 'veye_values': { + Any(): Or(int,str), + }, + }, + }, + 'reg_dump':{ + 'quad_reg':{ + Any(): Or(int,str), + }, + 'p_reg':{ + Any(): Or(int,str), + }, + 's_reg':{ + Any(): Or(int,str), + }, + 'rxdtop':{ + Any(): Or(int,str), + }, + 'txdtop':{ + Any(): Or(int,str), + }, + 'autoneg':{ + Any(): Or(int,str), + }, + 'linktraining':{ + Any(): Or(int,str), + }, + 'rx_sts':{ + Any():Or(int,str), + }, + 'an_debug_1':{ + Any(): Or(int,str), + }, + 'an_debug_2':{ + Any(): Or(int,str), + }, + 'lt_debug_1':{ + Any(): Or(int,str), + }, + 'lt_debug_2':{ + Any(): Or(int,str), + }, + }, + }, + }, + 'mac_port_link_down': { + Any():{ + Any(): Or(int,str), + 'rx_deskew_fifo_overflow_count': { + Any(): Or(int,str), + }, + 'rx_pma_sig_ok_loss_interrupt_register_count': { + Any(): Or(int,str), + }, + }, + }, + 'mac_port_link_error': { + Any(): { + Any(): Or(int,str), + }, + }, + 'mac_port_link_debounce': { + Any(): { + Any(): Or(int,str), + }, + }, + 'port': int, + Optional('slot'): int, + 'cmd': str, + 'rc': str, + Optional('rsn'): str, + Optional('reason'): str, + } + + + +class ShowControllerEthernetControllerInterfaceMac(ShowControllerEthernetControllerInterfaceMacSchema): + """ + ShowControllerEthernetControllerInterfaceMac + """ + + cli_command = 'show controllers ethernet-controller {interface} mac' + + def cli(self, interface, output=None): + + if output is None: + output = self.device.execute(self.cli_command.format(interface=interface)) + + ret_dict = {} + + #npu_pdsf_procagent_get_eye_common : asic inst 0 port 14 link 32 command 8 + p1 = re.compile(r'^npu_pdsf_procagent_get_eye_common\s*\: +(?P[\S\s]+.*)$') + + + #"mpp_port_0_0_36:7": { + p2 = re.compile(r'^\"(?Pmpp_port_\d+_\d+_\d+\:\d+)\"\:\s*\{$') + + #"mac_state_histogram": { + p2_1 = re.compile(r'^\"mac_state_histogram\"\:\s*\{$') + + #"mac_port_status": { + p2_2 = re.compile(r'^\"mac_port_status\"\:\s*\{$') + + #"mib_counters": { + p2_3 = re.compile(r'^\"mib_counters\"\:\s*\{$') + + #"tx_mac_tc_fc_frames_ok": [ + p2_3_1 = re.compile(r'^\"tx_mac_tc_fc_frames_ok\"\:\s*\[$') + + #"tx_xoff_state_duration": [ + p2_3_2 = re.compile(r'^\"tx_xoff_state_duration\"\:\s*\[$') + + #"rx_mac_tc_fc_frames_ok": [ + p2_3_3 = re.compile(r'^\"rx_mac_tc_fc_frames_ok\"\:\s*\[$') + + #"rx_xoff_state_duration": [ + p2_3_4 = re.compile(r'^\"rx_xoff_state_duration\"\:\s*\[$') + + #"multiport_phy_0_0_36": { + p3 = re.compile(r'^\"(?Pmultiport_phy_\d+_\d+_\d+)\"\: +\{$') + + #"device_info": { + p3_1 = re.compile(r'^\"device_info\"\:\s*\{$') + + # "serdes_0": { + p3_1_1 = re.compile(r'^\"serdes_\d+\"\:\s*\{$') + + #"mac_port_config": { + p3_2 = re.compile(r'^\"mac_port_config\"\:\s*\{$') + + #"serdes_info_36": { + p3_2_1 = re.compile(r'^\"serdes_info_\d+\"\:\s*\{$') + + #am_lock": [ + p3_3_1 = re.compile(r'^\"am_lock\"\:\s*\[$') + + #"mac_pcs_lane_mapping": [ + p3_3_2 = re.compile(r'^\"mac_pcs_lane_mapping\"\:\s*\[$') + + #"mac_port_soft_state": { + p3_4 = re.compile(r'^\"mac_port_soft_state\"\:\s*\{$') + + #"test_mode": { + p3_5 = re.compile(r'^\"test_mode\"\:\s*\{$') + + #"state_transition_history": [ + p3_6 = re.compile(r'^\"state_transition_history\"\:\s*\[$') + + #"serdes_parameters": { + p3_7 = re.compile(r'^\"serdes_parameters\"\:\s*\{$') + + #"index_0": { + p3_7_1 = re.compile(r'^\"index_0\"\:\s*\{$') + + #"serdes_config": { + p3_8 = re.compile(r'^\"serdes_config\"\:\s*\{$') + + #"serdes_settings": [ + p3_8_1 = re.compile(r'^\"serdes_settings\"\:\s*\[$') + + #"rx_settings": { + p3_8_1_1 = re.compile(r'^\"rx_settings\"\:\s*\{$') + + #"targ_shadow": [ + p3_8_1_1_1 = re.compile(r'^\"targ_shadow\"\:\s*\[$') + + #"tx_settings": { + p3_8_1_2 = re.compile(r'^\"tx_settings\"\:\s*\{$') + + #"tx_fir": [ + p3_8_1_2_1 = re.compile(r'^\"tx_fir\"\:\s*\[$') + + #"flow_chart_settings": { + p3_8_1_3 = re.compile(r'^\"flow_chart_settings\"\:\s*\{$') + + #"serdes_status": { + p3_9 = re.compile(r'^\"serdes_status\"\:\s*\{$') + + #"Firmware_Version": { + p3_9_1 = re.compile(r'^\"Firmware_Version\"\:\s*\{$') + + #"rx_status": [ + p3_9_2 = re.compile(r'^\"rx_status\"\:\s*\[$') + + #"firs": [ + p3_9_2_1 = re.compile(r'^\"firs\":\s*\[$') + + #"fw_rx_status": [ + p3_9_3 = re.compile(r'^\"fw_rx_status\"\:\s*\[$') + + # "fir_shadow": [ + p3_9_4 = re.compile(r'^\"fir_shadow\"\:\s*\[$') + + #"eye_capture": { + p3_10 = re.compile (r'^\"eye_capture\"\:\s*\{$') + + #"veye_data": [ + p3_10_1 = re.compile(r'^\"veye_data\"\:\s*\[$') + + #"veye_values": [ + p3_10_1_1 = re.compile(r'^\"veye_values\"\:\s*\[$') + + #"reg_dump": { + p3_11 = re.compile(r'^\"reg_dump\"\:\s*\{$') + + #"Quad_Reg": [ + p3_11_1 = re.compile(r'^\"Quad_Reg\"\:\s*\[$') + + #"P_Reg": [ + p3_11_2 = re.compile(r'^\"P_Reg\"\:\s*\[$') + + #"S_reg": [ + p3_11_3 = re.compile(r'^\"S_reg\"\:\s*\[$') + + #"RXDTOP": [ + p3_11_4 = re.compile(r'^\"RXDTOP\"\:\s*\[$') + + #"TXDTOP": [ + p3_11_5 = re.compile(r'^\"TXDTOP\"\:\s*\[$') + + #"AutoNeg": [ + p3_11_6 = re.compile(r'^\"AutoNeg\"\:\s*\[$') + + #"LinkTraining": [ + p3_11_7 = re.compile(r'^\"LinkTraining\"\:\s*\[$') + + #"RX_STS": [ + p3_11_8 = re.compile(r'^\"RX_STS\"\:\s*\[$') + + #"an_debug_1": [ + p3_11_9 = re.compile(r'^\"an_debug_1\"\:\s*\[$') + + #""an_debug_2": [ + p3_11_10 = re.compile(r'^\"an_debug_2\"\:\s*\[$') + + #"lt_debug_1": [ + p3_11_11 = re.compile(r'^\"lt_debug_1\"\:\s*\[$') + + #"lt_debug_2": [ + p3_11_12 = re.compile(r'^\"lt_debug_2\"\:\s*\[$') + + #"mac_port_0_0_36.link_down_histogram": { + p4= re.compile(r'^\"(?Pmac_port_\d+_\d+_\d+\.link_down_histogram)\"\:\s*\{$') + + #"rx_deskew_fifo_overflow_count": [ + p4_1 = re.compile(r'^\"rx_deskew_fifo_overflow_count\"\:\s*\[$') + + #"rx_pma_sig_ok_loss_interrupt_register_count": [ + p4_2 = re.compile(r'^\"rx_pma_sig_ok_loss_interrupt_register_count\"\:\s*\[$') + + #"mac_port_0_0_36.link_error_histogram": { + p5 = re.compile(r'^\"(?Pmac_port_\d+_\d+_\d+\.link_error_histogram)\"\:\s*\{$') + + #"mac_port_0_0_36.link_debounce_state": { + p6 = re.compile(r'^\"(?Pmac_port_\d+_\d+_\d+.link_debounce_state)\"\:\s*\{$') + + # Port = 40 Slot = 1 cmd = () rc = 0x16 reason = (null) + p7 = re.compile(r'^Port +\= +(?P\d+) +Slot +\= +(?P\d+) +cmd +\= +(?P\([\s*\S]*\)) +rc +\= +(?P\w+) +reason(?P.*)$') + + # Port = 39 cmd = (prbs_stop unit 0 port 39 slot 1 serdes_level 1 polynomial 31) rc = 0x0 rsn = success + p7_1 = re.compile(r'^Port +\= +(?P\d+) +cmd +\= +(?P\([\s*\S]*\)) +rc +\= +(?P\w+) +rsn +\= +(?P.*)$') + + + # "PRE_INIT": 0, + p8 = re.compile(r'^\"(?P\w+)\"\:\s*(?P.*)$') + + #false + p8_1 = re.compile(r'^(?P\w+)$') + + #0 + p8_2 = re.compile(r'^(?P[-]?\d+)$') + + #64, + p8_3 = re.compile(r'^(?P[-]?\d+)\,$') + + #], + p8_4 = re.compile(r'^\]\,$') + + #], + p8_5 = re.compile(r'^\]$') + + cnt = index_flag = stat_cnt = 0 + + for line in output.splitlines(): + line = line.strip() + + #npu_pdsf_procagent_get_eye_common : asic inst 0 port 14 link 32 command 8 + m = p1.match(line) + if m: + group = m.groupdict() + ret_dict['npu_pdsf_procagent_get_eye_common'] = group['npu_pdsf_procagent_get_eye_common'] + continue + + #"mpp_port_0_0_36:7": { + m = p2.match(line) + if m: + group = m.groupdict() + port = group['key'] + curr_dict = ret_dict.setdefault('mpp_port_detai1', {}).setdefault(group['key'], {}) + continue + + #"mac_state_histogram": { + m = p2_1.match(line) + if m: + group = m.groupdict() + if ret_dict.get('multiport_detail'): + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('mac_state_histogram', {}) + else: + curr_dict = ret_dict.setdefault('mpp_port_detai1', {}).setdefault(port, {}).setdefault('mac_state_histogram', {}) + continue + + #"mac_port_status": { + m = p2_2.match(line) + if m: + group = m.groupdict() + if ret_dict.get('multiport_detail'): + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('mac_port_status', {}) + else: + curr_dict = ret_dict.setdefault('mpp_port_detai1', {}).setdefault(port, {}).setdefault('mac_port_status', {}) + continue + + #"mib_counters": { + m = p2_3.match(line) + if m: + group = m.groupdict() + if ret_dict.get('multiport_detail'): + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('mib_counters', {}) + else: + curr_dict = ret_dict.setdefault('mpp_port_detai1', {}).setdefault(port, {}).setdefault('mib_counters', {}) + continue + + #"tx_mac_tc_fc_frames_ok": [ + m = p2_3_1.match(line) + if m: + index_flag = 1 + group = m.groupdict() + handle_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('mib_counters', {}) + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('mib_counters', {}).setdefault('tx_mac_tc_fc_frames_ok', {}) + continue + + #"tx_xoff_state_duration": [ + m = p2_3_2.match(line) + if m: + index_flag = 1 + group = m.groupdict() + handle_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('mib_counters', {}) + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('mib_counters', {}).setdefault('tx_xoff_state_duration', {}) + continue + + #"rx_mac_tc_fc_frames_ok": [ + m = p2_3_3.match(line) + if m: + index_flag = 1 + group = m.groupdict() + handle_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('mib_counters', {}) + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('mib_counters', {}).setdefault('rx_mac_tc_fc_frames_ok', {}) + continue + + #"rx_xoff_state_duration": [ + m = p2_3_4.match(line) + if m: + index_flag = 1 + group = m.groupdict() + handle_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('mib_counters', {}) + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('mib_counters', {}).setdefault('rx_xoff_state_duration', {}) + continue + + #"multiport_phy_0_0_36": { + m = p3.match(line) + if m: + group = m.groupdict() + port = group['key'] + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}) + continue + + #"device_info": { + m = p3_1.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('device_info', {}) + continue + + # "serdes_0": { + m = p3_1_1.match(line) + if m: + group = m.groupdict() + curr_dict = curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('mac_state_histogram', {}).setdefault('serdes_0', {}) + continue + + #"mac_port_config": { + m = p3_2.match(line) + if m: + group = m.groupdict() + if ret_dict.get('multiport_detail'): + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('mac_port_config', {}) + else: + curr_dict = ret_dict.setdefault('mpp_port_detai1', {}).setdefault(port, {}).setdefault('mac_port_config', {}) + continue + + #"serdes_info_36": { + m = p3_2_1.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('mac_port_config', {}).setdefault('serdes_info', {}) + continue + + #am_lock": [ + m = p3_3_1.match(line) + if m: + index_flag = 1 + group = m.groupdict() + handle_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('mac_port_status', {}) + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('mac_port_status', {}).setdefault('am_lock', {}) + continue + + #"mac_pcs_lane_mapping": [ + m = p3_3_2.match(line) + if m: + index_flag = 1 + group = m.groupdict() + handle_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('mac_port_status', {}) + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('mac_port_status', {}).setdefault('mac_pcs_lane_mapping', {}) + continue + + #"mac_port_soft_state": { + m = p3_4.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('mac_port_soft_state', {}) + continue + + #"test_mode": { + m = p3_5.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('test_mode', {}) + continue + + #"state_transition_history": [ + m = p3_6.match(line) + if m: + group = m.groupdict() + index_flag = 1 + if ret_dict.get('multiport_detail'): + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('state_transition_history', {}) + else: + curr_dict = ret_dict.setdefault('mpp_port_detai1', {}).setdefault(port, {}).setdefault('state_transition_history', {}) + handle_dict = curr_dict + continue + + #"serdes_parameters": { + m = p3_7.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('serdes_parameters', {}) + continue + + #"index_0": { + m = p3_7_1.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('serdes_parameters', {}).setdefault('index_0', {}) + continue + + #"serdes_config": { + m = p3_8.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('serdes_config', {}) + continue + + #"serdes_settings": [ + m = p3_8_1.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('serdes_config', {}).setdefault('serdes_settings', {}) + continue + + #"rx_settings": { + m = p3_8_1_1.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('serdes_config', {}).setdefault('serdes_settings', {}).setdefault('rx_settings', {}) + continue + + #"targ_shadow": [ + m = p3_8_1_1_1.match(line) + if m: + group = m.groupdict() + index_flag = 1 + handle_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('serdes_config', {}).setdefault('serdes_settings', {}).setdefault('rx_settings', {}) + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('serdes_config', {}).setdefault('serdes_settings', {}).setdefault('rx_settings', {}).setdefault('targ_shadow', {}) + continue + + #"tx_settings": { + m = p3_8_1_2.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('serdes_config', {}).setdefault('serdes_settings', {}).setdefault('tx_settings', {}) + continue + + #"tx_fir": [ + m = p3_8_1_2_1.match(line) + if m: + group = m.groupdict() + index_flag = 1 + handle_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('serdes_config', {}).setdefault('serdes_settings', {}).setdefault('tx_settings', {}) + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('serdes_config', {}).setdefault('serdes_settings', {}).setdefault('tx_settings', {}).setdefault('tx_fir', {}) + continue + + #"flow_chart_settings": { + m = p3_8_1_3.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('serdes_config', {}).setdefault('serdes_settings', {}).setdefault('flow_chart_settings', {}) + continue + + #"serdes_status": { + m = p3_9.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('serdes_status', {}) + continue + + #"Firmware_Version": { + m = p3_9_1.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('serdes_status', {}).setdefault('firmware_version', {}) + continue + + #"rx_status": [ + m = p3_9_2.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('serdes_status', {}).setdefault('rx_status', {}) + continue + + #"firs": [ + m = p3_9_2_1.match(line) + if m: + group = m.groupdict() + index_flag = 1 + handle_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('serdes_status', {}).setdefault('rx_status', {}) + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('serdes_status', {}).setdefault('rx_status', {}).setdefault('firs',{}) + continue + + #"fw_rx_status": [ + m = p3_9_3.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('serdes_status', {}).setdefault('fw_rx_status', {}) + continue + + # "fir_shadow": [ + m = p3_9_4.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('serdes_status', {}).setdefault('fir_shadow', {}) + continue + + #"eye_capture": { + m = p3_10.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('eye_capture', {}) + continue + + #"veye_data": [ + m = p3_10_1.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('eye_capture', {}).setdefault('veye_data',{}) + continue + + #"veye_values": [ + m = p3_10_1_1.match(line) + if m: + group = m.groupdict() + index_flag = 1 + handle_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('eye_capture', {}).setdefault('veye_data',{}) + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('eye_capture', {}).setdefault('veye_data',{}).setdefault('veye_values', {}) + continue + + #"reg_dump": { + m = p3_11.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('reg_dump', {}) + continue + + #"Quad_Reg": [ + m = p3_11_1.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('reg_dump', {}).setdefault('quad_reg',{}) + continue + + #"P_Reg": [ + m = p3_11_2.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('reg_dump', {}).setdefault('p_reg',{}) + continue + + #"S_reg": [ + m = p3_11_3.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('reg_dump', {}).setdefault('s_reg',{}) + continue + + #"RXDTOP": [ + m = p3_11_4.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('reg_dump', {}).setdefault('rxdtop',{}) + continue + + #"TXDTOP": [ + m = p3_11_5.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('reg_dump', {}).setdefault('txdtop',{}) + continue + + #"AutoNeg": [ + m = p3_11_6.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('reg_dump', {}).setdefault('autoneg',{}) + continue + + #"LinkTraining": [ + m = p3_11_7.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('reg_dump', {}).setdefault('linktraining',{}) + continue + + #"RX_STS": [ + m = p3_11_8.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('reg_dump', {}).setdefault('rx_sts',{}) + continue + + #"an_debug_1": [ + m = p3_11_9.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('reg_dump', {}).setdefault('an_debug_1',{}) + continue + + #""an_debug_2": [ + m = p3_11_10.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('reg_dump', {}).setdefault('an_debug_2',{}) + continue + + #"lt_debug_1": [ + m = p3_11_11.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('reg_dump', {}).setdefault('lt_debug_1',{}) + continue + + #"lt_debug_2": [ + m = p3_11_12.match(line) + if m: + group = m.groupdict() + curr_dict = ret_dict.setdefault('multiport_detail', {}).setdefault(port, {}).setdefault('reg_dump', {}).setdefault('lt_debug_2',{}) + continue + + #"mac_port_0_0_36.link_down_histogram": { + m = p4.match(line) + if m: + group = m.groupdict() + port = group['key'] + curr_dict = ret_dict.setdefault('mac_port_link_down', {}).setdefault(group['key'], {}) + continue + + #"rx_deskew_fifo_overflow_count": [ + m = p4_1.match(line) + if m: + group = m.groupdict() + index_flag = 1 + handle_dict = ret_dict.setdefault('mac_port_link_down', {}).setdefault(port, {}) + curr_dict = ret_dict.setdefault('mac_port_link_down', {}).setdefault(port, {}).setdefault('rx_deskew_fifo_overflow_count',{}) + continue + + #"rx_pma_sig_ok_loss_interrupt_register_count": [ + m = p4_2.match(line) + if m: + group = m.groupdict() + index_flag = 1 + handle_dict = ret_dict.setdefault('mac_port_link_down', {}).setdefault(port, {}) + curr_dict = ret_dict.setdefault('mac_port_link_down', {}).setdefault(port, {}).setdefault('rx_pma_sig_ok_loss_interrupt_register_count',{}) + continue + + #"mac_port_0_0_36.link_error_histogram": { + m = p5.match(line) + if m: + group = m.groupdict() + port = group['key'] + curr_dict = ret_dict.setdefault('mac_port_link_error', {}).setdefault(group['key'], {}) + continue + + #"mac_port_0_0_36.link_debounce_state": { + m = p6.match(line) + if m: + group = m.groupdict() + port = group['key'] + curr_dict = ret_dict.setdefault('mac_port_link_debounce', {}).setdefault(group['key'], {}) + continue + # Port = 40 Slot = 1 cmd = () rc = 0x16 reason = (null) + m = p7.match(line) + if m: + group = m.groupdict() + ret_dict['port'] = int(group['port']) + ret_dict['slot'] = int(group['slot']) + ret_dict['cmd'] = group['cmd'] + ret_dict['rc'] = group['rc'] + ret_dict['reason'] = group['reason'] + continue + + # Port = 39 cmd = (prbs_stop unit 0 port 39 slot 1 serdes_level 1 polynomial 31) rc = 0x0 rsn = success + m = p7_1.match(line) + if m: + group = m.groupdict() + ret_dict['port'] = int(group['port']) + ret_dict['cmd'] = group['cmd'] + ret_dict['rc'] = group['rc'] + ret_dict['rsn'] = group['rsn'] + continue + + # "PRE_INIT": 0, + m = p8.match(line) + if m: + group = m.groupdict() + if group['value'] == '{' or group['value'] == '[': + continue + elif group['key'] == 'new_state': + stat_cnt = stat_cnt + 1 + curr_dict = curr_dict.setdefault(stat_cnt,{}) + curr_dict.update({'state': group['value']}) + continue + elif group['key'] == 'timestamp': + curr_dict.update({'timestamp': group['value']}) + curr_dict = handle_dict + continue + else: + group['key'] = group['key'].lower() + group['value'] = group['value'].strip(',').strip('"') + try: + group['value'] = int(group['value']) + except: + #If it is a word, do not convert it to int. + pass + curr_dict.update({group['key']: group['value']}) + continue + + #false + m = p8_1.match(line) + if m: + group = m.groupdict() + cnt = cnt + 1 + key = cnt + curr_dict.update({key: group['value']}) + continue + + #64, + m = p8_3.match(line) + if m: + group = m.groupdict() + cnt = cnt + 1 + key = cnt + curr_dict.update({key: group['value']}) + continue + + #], + m = p8_4.match(line) + if m: + if index_flag == 1: + curr_dict = handle_dict + index_flag = 0 + cnt = 0 + continue + + #], + m = p8_5.match(line) + if m: + if index_flag == 1: + curr_dict = handle_dict + index_flag = 0 + cnt = 0 + stat_cnt =0 + continue + + return ret_dict + + diff --git a/src/genie/libs/parser/iosxe/show_dns_lookup.py b/src/genie/libs/parser/iosxe/show_dns_lookup.py new file mode 100644 index 0000000000..c7fc862e76 --- /dev/null +++ b/src/genie/libs/parser/iosxe/show_dns_lookup.py @@ -0,0 +1,273 @@ +''' show_dns_lookup.py + +IOSXE parsers for the following show commands: + + * 'show dns-lookup cache' + * 'show dns-lookup hostname {hostname}' + +''' + +# Python +import re + +# Metaparser +from genie.libs.parser.utils.common import Common +from genie.metaparser import MetaParser +from genie.metaparser.util.schemaengine import Any, Optional + +class ShowDnsLookupSchema(MetaParser): + ''' Schema for: + * 'show dns-lookup cache' + * 'show dns-lookup hostname {hostname}' + ''' + + # Job Id: 6 + # Status: JOB_COMPLETED + # Request Info: + # VRF Name: Mgmt-intf + # Host Name: yahoo.com + # DNS Server: 72.163.128.140 + # Request-time: *Sep 19 20:22:29.836 Completion-time: *Sep 19 20:22:29.847 + # Error Code: No Error + # DNS Response: + # Id: 0 + # Flags: qr-response opcode-query rd ra rcode-noerr + # Qdcount: 1 Ancount: 6 Nscount: 0 Arcount: 1 + # Class: IN Type: IPv6 RTT: 11ms + # Payload Size: 206 + # IP: 2001:4998:44:3507::8001 TTL: 0 + # IP: 2001:4998:24:120D::1:1 TTL: 0 + # IP: 2001:4998:124:1507::F001 TTL: 0 + # IP: 2001:4998:24:120D::1:0 TTL: 0 + # IP: 2001:4998:44:3507::8000 TTL: 0 + # IP: 2001:4998:124:1507::F000 TTL: 0 + + schema = { + 'total_number_of_jobs': int, + Optional('job_id'): { + Any(): { + Optional('status'): str, + Optional('request_info'): { + Optional('vrf_name'): str, + Optional('host_name'): str, + Optional('dns_server'): str, + }, + Optional('request_time'): str, + Optional('completion_time'): str, + Optional('error_code'): str, + Optional('dns_response'): { + Any(): { + Optional('dns_id'): int, + Optional('dns_flags'): str, + Optional('dns_qdcnt'): int, + Optional('dns_ancnt'): int, + Optional('dns_nscnt'): int, + Optional('dns_arcnt'): int, + Optional('dns_class'): str, + Optional('dns_type'): str, + Optional('dns_rtt'): str, + Optional('dns_payload_size'): int, + Optional('dns_ip'): { + Any(): { + Optional('dns_ttl'): int + }, + }, + }, + } + } + } + } +# ======================================= +# Parser for 'show dns-lookup cache' +# ======================================= +class ShowDnsLookup(ShowDnsLookupSchema): + ''' Parse for: + * 'show dns-lookup cache' + * 'show dns-lookup hostname {hostname}' + * + ''' + cli_command = ['show dns-lookup cache', 'show dns-lookup hostname {hostname}'] + + exclude = ['request_time','completion_time'] + + def cli(self, hostname=None, output=None): + + if output is None: + out = self.device.execute(self.cli_command[0]) + else: + out = output + + # Job Id: 6 + jobid_re = re.compile(r'Job\s+Id:\s*(?P\d+)?') + # Status: JOB_COMPLETED + jobstatus_re = re.compile(r'Status:\s*(?P\S*)') + # Request Info: + requestinfo_re = re.compile(r'Request\s*Info:\s*') + # VRF Name: Mgmt-intf + # VRF Name: default + vrfname_re = re.compile(r'VRF\s*Name:\s*(?P(\S*))') + # Host Name: yahoo.com + # Host Name: test123.com + hostname_re = re.compile(r'Host\s*Name:\s*(?P\S*)') + # DNS Server: 72.163.128.140 + # DNS Server: FE80::203:E3FF:FE6A:BF81 + # DNS Server: 1::1 + dnsserver_re = re.compile(r'DNS\s*Server:\s*(?P\S*)') + # Request-time: *Sep 19 20:22:29.836 Completion-time: *Sep 19 20:22:29.847 + requestcompletiontime_re = re.compile(r'Request-time:\s*\*(?P\w+\s*\d+\s\d{2}:\d{2}:\d{2}\.\d{3})\s*(Completion-time:\s*\*(?P\w+\s*\d+\s\d{2}:\d{2}:\d{2}\.\d{3})?)?$') + # Error Code: No Error + # Error Code: Lookup Timeout + errorcode_re = re.compile(r'Error\s*Code:\s*(?P[a-zA-Z ]*)') + # DNS Response: + dnsresp_re = re.compile(r'DNS\s*Response:\s*') + # Id: 0 + dnsrespid_re = re.compile(r'Id:\s*(?P\d+)') + # Flags: qr-response opcode-query rd ra rcode-noerr + dnsrespflags_re = re.compile(r'Flags:\s*(?P[a-zA-Z -]*)') + # Qdcount: 1 Ancount: 6 Nscount: 0 Arcount: 1 + dnsrespcnt_re = re.compile(r'Qdcount:\s(?P\d+)\sAncount:\s(?P\d+)\sNscount:\s(?P\d+)\sArcount:\s(?P\d+)') + # Class: IN Type: IPv6 RTT: 11ms + dnsrespclass_re = re.compile(r'Class:\s(?P\w+)\sType:\s(?P\w+)\sRTT:\s(?P\d+ms)') + # Payload Size: 206 + dnsresppayloadsize_re = re.compile(r'Payload\s*Size:\s*(?P\d*)') + # IP: 2001:4998:44:3507::8001 TTL: 0 + # IP: 2001:4998:24:120D::1:1 TTL: 0 + # IP: 2001:4998:124:1507::F001 TTL: 0 + dnsrespip_re = re.compile(r'IP:\s*(?P\S*)\s*TTL:\s*(?P\d*)') + + # Init vars + request_info_var = 0 + parsed_dict = {} + index_device = 0 + dns_id_index = 0 + for line in out.splitlines(): + line = line.strip() + + # Job Id: 6 + result = jobid_re.match(line) + if result: + index_device += 1 + dns_id_index = 0 + parsed_dict['total_number_of_jobs'] = index_device + if result.group('job_id'): + job_id = int(result.group('job_id')) + devices_dict = parsed_dict.setdefault('job_id', {})\ + .setdefault(job_id, {}) + continue + + # Status: JOB_COMPLETED + result = jobstatus_re.match(line) + if result: + if result.group('status'): + devices_dict['status'] = result.group('status') + continue + + # Request Info: + result = requestinfo_re.match(line) + + if result: + request_info_var = 1 + continue + + # VRF Name: Mgmt-intf + result = vrfname_re.match(line) + if result: + if result.group('vrf_name'): + vrf_name = result.group('vrf_name') + continue + + # Host Name: yahoo.com + result = hostname_re.match(line) + if result: + if result.group('host_name'): + host_name = result.group('host_name') + continue + + # DNS Server: 72.163.128.140 + result = dnsserver_re.match(line) + if result: + if result.group('dns_server'): + dns_server = result.group('dns_server') + continue + + if request_info_var: + reqinfo_dict = devices_dict.setdefault('request_info',{}) + reqinfo_dict.update({'vrf_name': vrf_name}) + reqinfo_dict.update({'host_name': host_name}) + reqinfo_dict.update({'dns_server': dns_server}) + + # Request-time: *Sep 19 20:22:29.836 Completion-time: *Sep 19 20:22:29.847 + result = requestcompletiontime_re.match(line) + if result: + groups = result.groupdict() + request_time = groups['request_time'] + completion_time = groups['completion_time'] + if request_time and completion_time: + devices_dict.update({'request_time':request_time}) + devices_dict.update({'completion_time':completion_time}) + continue + + # Error Code: No Error + result = errorcode_re.match(line) + if result: + devices_dict['error_code'] = result.group('error_code') + continue + + # DNS Response: + # Id: 0 + result = dnsrespid_re.match(line) + if result: + dns_id_index += 1 + dns_id = result.group('dns_id') + dnsresp_dict = devices_dict.setdefault('dns_response',{}) + dnsrespid_dict = dnsresp_dict.setdefault(dns_id_index,{}) + dnsrespid_dict.update({'dns_id':int(dns_id)}) + continue + + # Flags: qr-response opcode-query rd ra rcode-noerr + result = dnsrespflags_re.match(line) + if result: + dnsrespid_dict.update({'dns_flags': result.group('dns_flags')}) + continue + + # Qdcount: 1 Ancount: 6 Nscount: 0 Arcount: 1 + result = dnsrespcnt_re.match(line) + if result: + groups = result.groupdict() + dnsrespid_dict.update({ + 'dns_qdcnt': int(groups['dns_qdcnt']), + 'dns_ancnt': int(groups['dns_ancnt']), + 'dns_nscnt': int(groups['dns_nscnt']), + 'dns_arcnt': int(groups['dns_arcnt']), + }) + continue + + # Class: IN Type: IPv6 RTT: 11ms + result = dnsrespclass_re.match(line) + if result: + groups = result.groupdict() + dnsrespid_dict.update({ + 'dns_class': groups['dns_class'], + 'dns_type': groups['dns_type'], + 'dns_rtt': groups['dns_rtt'] + }) + continue + + # Payload Size: 206 + result = dnsresppayloadsize_re.match(line) + if result: + dns_payload_size = result.group('dns_payload_size') + dnsrespid_dict.update({'dns_payload_size':int(dns_payload_size)}) + continue + + # IP: 2001:4998:44:3507::8001 TTL: 0 + # IP: 2001:4998:24:120D::1:1 TTL: 0 + # IP: 2001:4998:124:1507::F001 TTL: 0 + result = dnsrespip_re.match(line) + if result: + groups = result.groupdict() + dnsrespip_dict = dnsrespid_dict.setdefault('dns_ip',{}).setdefault(groups['dns_ip'],{}) + dnsrespip_dict.update({'dns_ttl':int(groups['dns_ttl'])}) + continue + + return parsed_dict \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/show_igmp.py b/src/genie/libs/parser/iosxe/show_igmp.py index 434968a19c..13414929a6 100644 --- a/src/genie/libs/parser/iosxe/show_igmp.py +++ b/src/genie/libs/parser/iosxe/show_igmp.py @@ -903,10 +903,10 @@ class ShowIpIgmpSnoopingGroupsSchema(MetaParser): schema = { 'igmp_groups': { Any(): { - 'vlan_id': str, - 'type': str, - 'version': str, - 'port': str + Optional('vlan_id'): str, + Optional('type'): str, + Optional('version'): str, + Optional('port'): str }, } } @@ -934,10 +934,20 @@ def cli(self, output=None): # 10 225.1.1.1 igmp v2 Tw1/0/4, Tw1/0/25 p1 = re.compile(r'^(?P\d+) +(?P[\d\.]+) +(?P\w+) +(?P\w+) +(?P[\S,\s]+)$') + # 12 225.0.0.1 S Po92 + p1_0 = re.compile(r'^(?P\d+) +(?P[\d\.]+) +(?P\w+) +(?P[\S,\s]+)$') + m = p1.match(line) if m: group = m.groupdict() igmp_dict.setdefault('igmp_groups', {}).setdefault(group.pop('group_ip'), group) + continue + + m = p1_0.match(line) + if m: + group = m.groupdict() + igmp_dict.setdefault('igmp_groups', {}).setdefault(group.pop('group_ip'), group) + continue return igmp_dict diff --git a/src/genie/libs/parser/iosxe/show_ip.py b/src/genie/libs/parser/iosxe/show_ip.py index e9709255be..285d91029f 100644 --- a/src/genie/libs/parser/iosxe/show_ip.py +++ b/src/genie/libs/parser/iosxe/show_ip.py @@ -473,9 +473,9 @@ class ShowIpNbarVersionSchema(MetaParser): Any(): { 'version': { Any(): { - 'file': str, + Optional('file'): str, 'publisher': str, - 'creation_time': str, + Optional('creation_time'): str, 'nbar_engine_version': str, 'state': str, }, diff --git a/src/genie/libs/parser/iosxe/show_lisp.py b/src/genie/libs/parser/iosxe/show_lisp.py index 3ee7932f5b..c0ef969f43 100644 --- a/src/genie/libs/parser/iosxe/show_lisp.py +++ b/src/genie/libs/parser/iosxe/show_lisp.py @@ -76,8 +76,8 @@ class ShowLispExtranetSchema(MetaParser): schema = { 'lisp_id': { int: { - 'home_instance': int, - 'total': int, + Optional('home_instance'): int, + Optional('total'): int, Optional('eid_prefix'): { str:{ 'type': str, diff --git a/src/genie/libs/parser/iosxe/show_lisp_super.py b/src/genie/libs/parser/iosxe/show_lisp_super.py index 8860b6080e..f2515dd0d3 100644 --- a/src/genie/libs/parser/iosxe/show_lisp_super.py +++ b/src/genie/libs/parser/iosxe/show_lisp_super.py @@ -3717,10 +3717,11 @@ def cli(self, instance_id, lisp_id=None, eid_prefix=None, output=None): r'do-not-register\s+(?P\d+)$') # 51.51.0.0/16, import from publication cfg prop, inherited from default locator-set RLOC, auto-discover-rlocs, proxy + # 51.51.0.0/16, import from publication cfg prop, inherited from default locator-set DEFAULT-ETR-RLOC, auto-discover-rlocs, proxy p3 = re.compile(r'^(?P(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})|([a-fA-F\d\:]+))' r'\/(?P\d{1,3})(,\s+import\s+from\s+(?P\S+' r'|publication cfg prop))?(,\s+inherited\s+from\s+' - r'(?Pdefault locator-set RLOC|\S+))?' + r'(?Pdefault locator-set (RLOC|DEFAULT-ETR-RLOC)|\S+))?' r'(,\s+(?Pauto-discover-rlocs))?(,\s+(?Pproxy))?$') # Uptime: 01:30:26, Last-change: 01:30:26 diff --git a/src/genie/libs/parser/iosxe/show_platform.py b/src/genie/libs/parser/iosxe/show_platform.py index 090a6e91ad..5a943e9a0e 100755 --- a/src/genie/libs/parser/iosxe/show_platform.py +++ b/src/genie/libs/parser/iosxe/show_platform.py @@ -4399,7 +4399,6 @@ def cli(self, output=None): ret_dict['pid'][pid]['size'] = int(group['size']) ret_dict['pid'][pid]['name'] = group['name'] continue - return ret_dict @@ -9545,8 +9544,6 @@ def cli(self, output=None): return ret_dict -class ShowPlatformfrontendcontrollerSchema(MetaParser): - """show platform frontend-controller version 0 """ # ==================================================== @@ -9567,6 +9564,19 @@ class ShowRepTopologyDetailSchema(MetaParser): } +class ShowPlatformfrontendcontrollerSchema(MetaParser): + """show platform frontend-controller version 0 """ + + schema = { + 'switch_number': int, + 'software_version': str, + 'system_type': int, + 'device_id': int, + 'device_revision': int, + 'hardware_version': int, + 'bootloader_version': int, + } + class ShowPlatformfrontendcontroller(ShowPlatformfrontendcontrollerSchema): """ show platform frontend-controller version 0 diff --git a/src/genie/libs/parser/iosxe/show_platform_hardware.py b/src/genie/libs/parser/iosxe/show_platform_hardware.py index 111a943728..aef692083a 100644 --- a/src/genie/libs/parser/iosxe/show_platform_hardware.py +++ b/src/genie/libs/parser/iosxe/show_platform_hardware.py @@ -7051,5 +7051,131 @@ def cli(self, lc_no, port_no, sub_port1, sub_port2, output=None): continue return ret_dict + +class ShowPlatformHardwareFedXcvrRegistersSchema(MetaParser): + """Schema for show platform hardware fed switch {mode} npu slot 1 port {port_num} eye_scan""" + + schema = { + 'phy_reg_value_hex': str, + 'phy_reg_value_dec': int, + + } + +class ShowPlatformHardwareFedXcvrRegisters(ShowPlatformHardwareFedXcvrRegistersSchema): + """ + show platform hardware fed {switch} {mode} xcvr {local_port} {phy} {mode_1} {device_num} {page_number} {register} {bytes} + """ + + cli_command = 'show platform hardware fed switch {mode} xcvr {local_port} {phy} {mode_1} {device_num} {page_number} {register} {byte}' + + def cli(self, mode, local_port, phy, mode_1, device_num, page_number, register, byte, output=None): + + if output is None: + output = self.device.execute(self.cli_command.format(mode=mode, local_port=local_port, phy=phy, mode_1=mode_1, device_num=device_num, page_number=page_number, register=register, byte=byte)) + + + ret_dict = {} + + # Phy Reg Value(Hex): FFFF + p1 = re.compile(r'^Phy +Reg +Value\(Hex\)\:\s*(?P.*)$') + + #"eye_capture": { + p2 = re.compile (r'^\(Dec\)\:\s*(?P.*)$') + + for line in output.splitlines(): + line = line.strip() + + # Phy Reg Value(Hex): FFFF + m = p1.match(line) + if m: + group = m.groupdict() + ret_dict['phy_reg_value_hex'] = group['phy_reg_value_hex'] + continue + + #"eye_capture": { + m = p2.match(line) + if m: + group = m.groupdict() + ret_dict['phy_reg_value_dec'] = int(group['phy_reg_value_dec']) + continue + + return ret_dict + +class ShowPlatformHardwareFedSwitchActiveNpuSlotPortRecreateSchema(MetaParser): + """Schema for show platform hardware fed switch {mode} npu slot 1 port {port_num} port-recreate""" + + schema = { + 'port': str, + 'operations': { + Any(): str, + }, + } + +class ShowPlatformHardwareFedSwitchActiveNpuSlotPortRecreate( + ShowPlatformHardwareFedSwitchActiveNpuSlotPortRecreateSchema): + """ + show platform hardware fed switch {mode} npu slot 1 port {port_num} port-recreate + """ + + cli_command = ['show platform hardware fed {switch} {mode} npu slot 1 port {port_num} port-recreate', + 'show platform hardware fed {mode} npu slot 1 port {port_num} port-recreate'] + + + def cli(self, mode, port_num, switch=None, output=None): + + if output is None: + if switch: + output = self.device.execute(self.cli_command[0].format(switch=switch, mode=mode,port_num=port_num)) + else: + output = self.device.execute(self.cli_command[1].format(mode=mode,port_num=port_num)) + + ret_dict = {} + + #Deleting port 1/40 + p1 = re.compile(r'^Deleting +port +(?P.*)$') + + # creating port 1/40 + p2 = re.compile(r'^creating +port +(?P.*)$') + + # Recreate successfull 1/40 + p3 = re.compile(r'^Recreate +successfull +(?P.*)$') + + # , Enabling the port + p4 = re.compile(r'^\, +Enabling +the +port$') + + for line in output.splitlines(): + line = line.strip() + + #Deleting port 1/40 + m = p1.match(line) + if m: + group = m.groupdict() + ret_dict['port'] = group['port'] + curr_dict = ret_dict.setdefault('operations', {}) + curr_dict.update({'delete' : group['port']}) + continue + + # creating port 1/40 + m = p2.match(line) + if m: + group = m.groupdict() + curr_dict.update({'create' : group['port']}) + continue + + # Recreate successfull 1/40 + m = p3.match(line) + if m: + group = m.groupdict() + curr_dict.update({'recreate' : group['port']}) + continue + + # , Enabling the port + m = p4.match(line) + if m: + curr_dict.update({'enable' : 'successful'}) + continue + + return ret_dict + diff --git a/src/genie/libs/parser/iosxe/show_platform_software.py b/src/genie/libs/parser/iosxe/show_platform_software.py index 1d89a3b9ef..3b09bc2b00 100644 --- a/src/genie/libs/parser/iosxe/show_platform_software.py +++ b/src/genie/libs/parser/iosxe/show_platform_software.py @@ -2071,11 +2071,16 @@ class ShowPlatformSoftwareCpmSwitchB0CountersDrop( ): """Parser for show platform software cpm switch {mode} B0 counters drop""" - cli_command = "show platform software cpm switch {mode} B0 counters drop" + cli_command = ["show platform software cpm switch {mode} BP {mode2} counters drop", + "show platform software cpm switch {mode} B0 counters drop"] + + def cli(self, mode, mode2=None, output=None): - def cli(self, mode, output=None): if output is None: - output = self.device.execute(self.cli_command.format(mode=mode)) + if mode2: + output = self.device.execute(self.cli_command[0].format(mode=mode, mode2=mode2)) + else: + output = self.device.execute(self.cli_command[1].format(mode=mode)) # initial variables ret_dict = {} @@ -2138,11 +2143,16 @@ class ShowPlatformSoftwareCpmSwitchB0CountersPuntInject( ): """Parser for show platform software cpm switch {mode} B0 counters punt-inject""" - cli_command = "show platform software cpm switch {mode} B0 counters punt-inject" + cli_command = ['show platform software cpm switch {mode} BP {mode2} counters punt-inject', + 'show platform software cpm switch {mode} B0 counters punt-inject'] + + def cli(self, mode, mode2=None, output=None): - def cli(self, mode, output=None): if output is None: - output = self.device.execute(self.cli_command.format(mode=mode)) + if mode2: + output = self.device.execute(self.cli_command[0].format(mode=mode, mode2=mode2)) + else: + output = self.device.execute(self.cli_command[1].format(mode=mode)) # initial variables ret_dict = {} @@ -7713,7 +7723,7 @@ def cli(self, output=None): class ShowPlatformSoftwareCpmSwitchActiveB0CountersInterfaceLacpSchema(MetaParser): - """Schema for show platform software cpm switch active B0 counters interface isis""" + """Schema for show platform software cpm switch active B0 counters interface lacp""" schema = { Any(): { @@ -7732,11 +7742,16 @@ class ShowPlatformSoftwareCpmSwitchActiveB0CountersInterfaceLacp( ShowPlatformSoftwareCpmSwitchActiveB0CountersInterfaceLacp """ - cli_command = "show platform software cpm switch {mode} B0 counters interface lacp" + cli_command = ['show platform software cpm switch {mode} BP {mode2} counters interface lacp', + 'show platform software cpm switch {mode} B0 counters interface lacp'] + + def cli(self, mode, mode2=None, output=None): - def cli(self, mode, output=None): if output is None: - output = self.device.execute(self.cli_command.format(mode=mode)) + if mode2: + output = self.device.execute(self.cli_command[0].format(mode=mode,mode2=mode2)) + else: + output = self.device.execute(self.cli_command[1].format(mode=mode)) ret_dict = {} @@ -7809,11 +7824,16 @@ class ShowPlatformSoftwareCpmCountersInterfaceIsis( ShowPlatformSoftwareCpmSwitchActiveB0CountersInterfaceIsis """ - cli_command = "show platform software cpm switch {mode} B0 counters interface isis" + cli_command = ['show platform software cpm switch {mode} BP {mode2} counters interface isis', + 'show platform software cpm switch {mode} B0 counters interface isis'] + + def cli(self, mode, mode2=None, output=None): - def cli(self, mode, output=None): if output is None: - output = self.device.execute(self.cli_command.format(mode=mode)) + if mode2: + output = self.device.execute(self.cli_command[0].format(mode=mode, mode2=mode2)) + else: + output = self.device.execute(self.cli_command[1].format(mode=mode)) ret_dict = {} temp_dict = {} @@ -9873,3 +9893,54 @@ def cli(self, switch_num, output=None): return ret_dict + +class ShowPlatformSoftwareWiredClientIDSchema(MetaParser): + """Schema for show platform software wired-client {client_id}""" + schema = { + 'wired_client': { + Any(): { + 'id': str, + 'mac': str, + 'fwd': str, + 'open_access': str + } + } + } + +class ShowPlatformSoftwareWiredClientID(ShowPlatformSoftwareWiredClientIDSchema): + """Parser for show platform software wired-client {client_id}""" + + cli_command = "show platform software wired-client {client_id}" + + def cli(self, client_id, output=None): + if output is None: + cmd = self.cli_command.format(client_id=client_id) + output = self.device.execute(cmd) + + # Final dict to return + parsed_output = {} + + # Regular expression pattern + # ID MAC Address Fwd Open Access + # 0x15be62c3 00a3.d1f3.d9eb Yes No + p1 = re.compile(r'^(?P0x[a-fA-F0-9]+)\s+(?P[0-9a-fA-F\.]+)\s+(?P\w+)\s+(?P\w+)$') + + for line in output.splitlines(): + line = line.strip() + + # ID MAC Address Fwd Open Access + # 0x15be62c3 00a3.d1f3.d9eb Yes No + m = p1.match(line) + if m: + group = m.groupdict() + client_id = group['id'] + clients = parsed_output.setdefault('wired_client', {}) + clients[client_id] = { + 'id': client_id, + 'mac': group['mac_address'], + 'fwd': group['fwd'], + 'open_access': group['open_access'] + } + + return parsed_output + diff --git a/src/genie/libs/parser/iosxe/show_platform_software_fed.py b/src/genie/libs/parser/iosxe/show_platform_software_fed.py index c21d8874cd..20974cef86 100644 --- a/src/genie/libs/parser/iosxe/show_platform_software_fed.py +++ b/src/genie/libs/parser/iosxe/show_platform_software_fed.py @@ -11249,7 +11249,7 @@ def cli(self, mode=None, output=None): continue return ret_dict - + class ShowPlatformSoftwareFedSwitchActiveifmMappingsgidSchema(MetaParser): """Schema for show platform software fed switch active ifm mappings gid gid_num""" @@ -11296,3 +11296,105 @@ def cli(self, switch, gid_num, output=None): continue return ret_dict + +class ShowPlatformSoftwareFedSwitchActiveCpuInterfacesSchema(MetaParser): + """Schema for show platform software fed switch active cpu-interfaces """ + + schema = { + "queue": { + Any(): { + "retrieved": int, + "dropped": int, + "invalid": int, + "hol_block": int, + } + } + } + +class ShowPlatformSoftwareFedSwitchActiveCpuInterfaces(ShowPlatformSoftwareFedSwitchActiveCpuInterfacesSchema): + """parser for cli 'show platform software fed switch active cpu-interfaces'""" + + cli_command = "show platform software fed switch active cpu-interfaces" + + def cli(self, output=None): + if output is None: + cmd = self.cli_command + output = self.device.execute(cmd) + + #initial return dictionary + ret_dict = {} + + # Matching patterns + # queue retrieved dropped invalid hol-block + # ------------------------------------------------------------------------- + # Routing Protocol 15579 0 0 0 + # L2 Protocol 361037 0 0 0 + # sw forwarding 113 0 0 0 + + p1 = re.compile(r"^(?P[A-Za-z0-9\- ]+?)\s+(?P\d+)\s+(?P\d+)\s+(?P\d+)\s+(?P\d+)$") + + for line in output.splitlines(): + line.strip() + + # Routing Protocol 15579 0 0 0 + m = p1.match(line) + if m: + group = m.groupdict() + queue_name = group['queue'].strip() + queue_dict = ( + ret_dict.setdefault("queue", {}).setdefault(group['queue'], {}) + ) + queue_dict.update( + { + "retrieved" : int(group["retrieved"]), + "dropped" : int(group["dropped"]), + "invalid" : int(group["invalid"]), + "hol_block" : int(group["hol_block"]) + } + ) + return ret_dict + +class ShowPlatformSoftwareFedSwitchActiveIfmMappingsL3if_leSchema(MetaParser): + """ + Schema for 'show platform software fed switch active ifm mappings l3if-le' + """ + schema = { + 'interface': { + Any(): { + "l3if_le": str, + "if_id": str, + "type": str, + } + } + } + +class ShowPlatformSoftwareFedSwitchActiveIfmMappingsL3if_le(ShowPlatformSoftwareFedSwitchActiveIfmMappingsL3if_leSchema): + cli_command = "show platform software fed switch active ifm mappings l3if-le" + + def cli(self, output=None): + if output is None: + output = self.device.execute(self.cli_command) + + ret_dict = {} + + # Regex pattern to match the output lines + # 0x000077ba149b9748 Vlan1 0x000000fa SVI_L3_LE + p1 = re.compile(r"^(?P0x[0-9a-fA-F]+)\s+(?P\S+)\s+(?P0x[0-9a-fA-F]+)\s+(?P\S+)$") + + for line in output.splitlines(): + line = line.strip() + + # 0x000077ba149b9748 Vlan1 0x000000fa SVI_L3_LE + m = p1.match(line) + if m: + group = m.groupdict() + interface_dict = ret_dict.setdefault('interface', {}).setdefault(group['interface'], {}) + interface_dict.update( + { + "l3if_le": group["l3if_le"], + "if_id": group["if_id"], + "type": group["type"], + } + ) + continue + return ret_dict diff --git a/src/genie/libs/parser/iosxe/show_platform_software_fed_punt.py b/src/genie/libs/parser/iosxe/show_platform_software_fed_punt.py index 1f6fa05aad..ba53fde1c6 100644 --- a/src/genie/libs/parser/iosxe/show_platform_software_fed_punt.py +++ b/src/genie/libs/parser/iosxe/show_platform_software_fed_punt.py @@ -6,6 +6,8 @@ * 'show platform software fed switch {switch} punt cpuq brief' * 'show platform software fed active punt cpuq brief' * 'show platform software fed active punt ios-cause brief' + * 'show platform software fed {switch} {port_num} punt entries | include {match}' + * 'show platform software fed {port_num} punt entries | include {match}' """ # Python import re @@ -614,4 +616,96 @@ def cli(self, switch=None, mode=None, output=None): cause_dict["dropped"] = int(group["dropped"]) continue - return ret_dict \ No newline at end of file + return ret_dict + + +# ========================================================================== +# Schema for : +# * 'show platform software fed {switch} {port_num} punt entries | include {match}' +# =========================================================================== + +class ShowPlatformSoftwareFedPuntEntriesIncludeSchema(MetaParser): + """Schema for show platform software fed {switch} {port_num} punt entries | include {match}""" + schema = { + 'index': { + Any(): { + Optional('name') : str, + Optional('source'): str, + Optional('priority'): int, + Optional('tc'): int, + Optional('policy'): str, + Optional('cir_sw'): int, + Optional('cir_hw'): int, + Optional('packets_a'): int, + Optional('bytes_a'): int, + Optional('packets_d'): int, + Optional('bytes_d'): int + } + } + } + +# ===================================================================== +# Parser for: +# * 'show platform software fed {switch} {port_num} punt entries | include {match}' +# ===================================================================== +class ShowPlatformSoftwareFedPuntEntriesInclude(ShowPlatformSoftwareFedPuntEntriesIncludeSchema): + """Parser for show platform software fed {switch} {port_num} punt entries | include {match}""" + + cli_command = [ + 'show platform software fed {switch} {port_num} punt entries | include {match}', + 'show platform software fed {port_num} punt entries | include {match}', + ] + + + def cli(self, port_num, match, switch=None, output=None): + if output is None: + if switch: + cmd = self.cli_command[0].format(port_num=port_num, match=match, switch=switch) + else: + cmd = self.cli_command[1].format(port_num=port_num, match=match) + output = self.device.execute(cmd) + + ret_dict = {} + index = 1 + + #Source Name Pri TC Policy CIR-SW CIR-HW Pkts(A) Bytes(A) Pkts(D) Bytes(D) + #LPTSv4 WCCP IPv4 16 0 system-cpp-default-v4 60000 59127 0 0 0 0 + p1 = re.compile( + r'^(?P\w+(?:\s+\S+)?) +' + r'(?P[\w\s\(\)]+)\s+' + r'(?P\d+) +' + r'(?P\d+) +' + r'(?P\S+) +' + r'(?P\d+) +' + r'(?P\d+) +' + r'(?P\d+) +' + r'(?P\d+) +' + r'(?P\d+) +' + r'(?P\d+)$') + + for line in output.splitlines(): + line = line.strip() + #Source Name Pri TC Policy CIR-SW CIR-HW Pkts(A) Bytes(A) Pkts(D) Bytes(D) + #LPTSv4 WCCP IPv4 16 0 system-cpp-default-v4 60000 59127 0 0 0 0 + m = p1.match(line) + if m: + group = m.groupdict() + index_dict = ret_dict.setdefault('index', {}) + index_dict.update({int(index): { + 'source': str(group['source']), + 'name': str(group['name']), + 'priority' : int(group['priority']), + 'tc' : int(group['tc']), + 'policy' : str(group['policy']), + 'cir_sw' : int(group['cir_sw']), + 'cir_hw' : int(group['cir_hw']), + 'packets_a' : int(group['packets_a']), + 'bytes_a' : int(group['bytes_a']), + 'packets_d' : int(group['packets_d']), + 'bytes_d' : int(group['bytes_d']) + }, + }) + + index += 1 + continue + return ret_dict diff --git a/src/genie/libs/parser/iosxe/show_platform_software_fed_switch_num.py b/src/genie/libs/parser/iosxe/show_platform_software_fed_switch_num.py index 8c2d7112c4..1c86f98c97 100644 --- a/src/genie/libs/parser/iosxe/show_platform_software_fed_switch_num.py +++ b/src/genie/libs/parser/iosxe/show_platform_software_fed_switch_num.py @@ -88,3 +88,105 @@ def cli(self, switch_num="", output=None): continue return ret_dict +#StatisticsInit +class ShowPlatformSoftwareFedSwitchActiveStatisticsInitSchema(MetaParser): + """Schema for 'show platform software fed switch active statistics init'""" + schema = { + "function_name": { + Any(): { + "initialization_time": int, + } + } + } +class ShowPlatformSoftwareFedSwitchActiveStatisticsInit(ShowPlatformSoftwareFedSwitchActiveStatisticsInitSchema): + """parser for cli 'show platform software fed switch active statistics init' """ + cli_command = "show platform software fed switch active statistics init" + def cli(self, output=None): + if output is None: + output = self.device.execute(self.cli_command) + ret_dict = {} + # Punject driver 1911 + # Post/wait stack manager/sif manager events 59008448 + p1 = re.compile(r"^(?P.+?)\s+(?P\d+)$") + for line in output.splitlines(): + line = line.strip() + # Punject driver 1911 + # Post/wait stack manager/sif manager events 59008448 + m = p1.match(line) + if m: + group = m.groupdict() + function_name_dict = ( + ret_dict.setdefault("function_name", {}).setdefault(group["function_name"], {}) + ) + function_name_dict.update( + { + "initialization_time": int(group["initialization_time"]), + } + ) + continue + return ret_dict + +# ============================================================================= +# Schema for +# * 'show platform software fed switch active ifm mappings port-le' +# * 'show platform software fed switch {switch_num} ifm mappings port-le' +# ============================================================================== +class ShowPlatformSoftwareFedSwitchNumberIfmMappingsPortLESchema(MetaParser): + """Schema for 'show platform software fed switch active ifm mappings port-le'""" + + schema = { + "port_le": { + Any(): { + "interface": str, + "if_id": str, + "type": str, + } + } + } + + +# =============================================================================== +# Parser for +# * 'show platform software fed switch active ifm mappings port-le' +# * 'sh platform software fed switch {switch_num} ifm mappings port-le' +# ================================================================================ +class ShowPlatformSoftwareFedSwitchNumberIfmMappingsPortLE(ShowPlatformSoftwareFedSwitchNumberIfmMappingsPortLESchema): + """ + Parser for: + * "show platform software fed switch active ifm mappings port-le" + * "show platform software fed switch {switch_num} ifm mappings port-le" + """ + + cli_command = [ + "show platform software fed switch active ifm mappings port-le", + "show platform software fed switch {switch_num} ifm mappings port-le", + ] + + def cli(self, switch_num="", output=None): + if output is None: + cmd = self.cli_command[1].format(switch_num=switch_num) if switch_num else self.cli_command[0] + output = self.device.execute(cmd) + + # 0x000061c7543a9de8 TwentyFiveGigE1/1/0/10 0x00000012 PORT_LE + p1 = re.compile( + r"^(?P0x[\da-fA-F]+)\s+(?P\S+)\s+(?P0x[\da-fA-F]{8})\s+(?P\S+)$" + ) + + ret_dict = {} + + for line in output.splitlines(): + line = line.strip() + + # 0x000077ba14569e18 TwentyFiveGigE1/1/0/1 0x00000009 PORT_LE + m = p1.match(line) + if m: + group = m.groupdict() + port_le = group["port_le"] + sub_dict = ret_dict.setdefault("port_le", {}).setdefault(port_le, {}) + + sub_dict["interface"] = group["interface"] + sub_dict["if_id"] = group["if_id"] + sub_dict["type"] = group["type"] + continue + return ret_dict + diff --git a/src/genie/libs/parser/iosxe/show_policy_map.py b/src/genie/libs/parser/iosxe/show_policy_map.py index 6d043a1fc2..9fffd27435 100755 --- a/src/genie/libs/parser/iosxe/show_policy_map.py +++ b/src/genie/libs/parser/iosxe/show_policy_map.py @@ -318,6 +318,8 @@ class ShowPolicyMapTypeSchema(MetaParser): Optional('police_bps'): int, Optional('police_limit'): int, Optional('extended_limit'): int, + Optional('rate_bps'): int, + Optional('burst_bytes'): int, Optional('bandwidth_remaining_ratio'): int, Optional('conformed'): { Optional('packets'): int, diff --git a/src/genie/libs/parser/iosxe/show_software.py b/src/genie/libs/parser/iosxe/show_software.py new file mode 100644 index 0000000000..bb8c617c39 --- /dev/null +++ b/src/genie/libs/parser/iosxe/show_software.py @@ -0,0 +1,145 @@ + +# Metaparser +import re +from genie.metaparser import MetaParser +from genie.metaparser.util.schemaengine import Schema, Optional, ListOf + +# pyATS +from pyats.utils.exceptions import SchemaTypeError + +class ShowSoftwareAuthenticityRunningSchema(MetaParser): + """Schema for show software authenticity""" + schema = { + 'package': { + str: { + 'image_type': str, + 'signer_information': { + 'common_name': str, + 'organization_unit': str, + 'organization_name': str + }, + 'certificate_serial_number': str, + 'hash_algorithm': str, + 'signature_algorithm': str, + 'key_version': str, + 'verifier_information': { + 'verifier_name': str, + 'verifier_version': str + } + } + }, + Optional('system_image'): { + 'image_type': str, + 'signer_information': { + 'common_name': str, + 'organization_unit': str, + 'organization_name': str + }, + 'certificate_serial_number': str, + 'hash_algorithm': str, + 'signature_algorithm': str, + 'key_version': str, + 'verifier_information': { + 'verifier_name': str, + 'verifier_version': str + } + }, + Optional('rommon'): { + 'image_type': str, + 'signer_information': { + 'common_name': str, + 'organization_unit': str, + 'organization_name': str + }, + 'certificate_serial_number': str, + 'hash_algorithm': str, + 'signature_algorithm': str, + 'key_version': str, + 'verifier_information': { + 'verifier_name': str, + 'verifier_version': str + } + }, + Optional('microloader'): { + 'image_type': str, + 'signer_information': { + 'common_name': str, + 'organization_name': str + }, + 'certificate_serial_number': str, + 'hash_algorithm': str, + 'verifier_information': { + 'verifier_name': str, + 'verifier_version': str + } + } + } + +class ShowSoftwareAuthenticityRunning(ShowSoftwareAuthenticityRunningSchema): + """Parser for show software authenticity""" + + cli_command = 'show software authenticity running' + + def cli(self, output=None): + if output is None: + output = self.device.execute(self.cli_command) + + ret_dict = {} + current_dict = None + + #PACKAGE cat9k-rpbase.BLD_POLARIS_DEV_LATEST_20240415_003241.SSA.pkg + p1 = re.compile(r'^PACKAGE (?P.+)$') + + #SYSTEM IMAGE + p2 = re.compile(r'^SYSTEM IMAGE(?P.+)$') + + #ROMMON + p3 = re.compile(r'^ROMMON(?P.+)$') + + # Microloader + p4 = re.compile(r'^Microloader(?P.+)$') + + #General- Common Name : CiscoSystems + p5 = re.compile(r'^(?P[\w\s]+): (?P.+)$') + + for line in output.splitlines(): + line = line.strip() + + #PACKAGE + if p1.match(line): + package_name = p1.match(line).group(1) + current_dict = ret_dict.setdefault('package', {}).setdefault(package_name, {}) + continue + + #SYSTEM IMAGE + if p2.match(line): + current_dict = ret_dict.setdefault('system_image', {}) + continue + + #ROMMON + if p3.match(line): + current_dict = ret_dict.setdefault('rommon', {}) + continue + + #Microloader + if p4.match(line): + current_dict = ret_dict.setdefault('microloader', {}) + continue + + #General- Common Name : CiscoSystems + match = p5.match(line) + if match: + group = match.groupdict() + key = group['key'].strip().lower().replace(' ', '_') + value = group['value'].strip() + if key == 'image_type': + current_dict[key] = value + elif key=='common_name' or key=='organization_unit' or key=='organization_name': + current_dict.setdefault('signer_information', {})[key] = value + elif key=='verifier_name' or key=='verifier_version': + current_dict.setdefault('verifier_information', {})[key] = value + else: + current_dict[key] = value + continue + + return ret_dict \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowControllerEthernetControllerInterfaceMac/cli/empty/empty_output_arguments.json b/src/genie/libs/parser/iosxe/tests/ShowControllerEthernetControllerInterfaceMac/cli/empty/empty_output_arguments.json new file mode 100644 index 0000000000..82891968f3 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowControllerEthernetControllerInterfaceMac/cli/empty/empty_output_arguments.json @@ -0,0 +1,4 @@ +{ +"interface": "GigabitEthernet1/0/24" +} + diff --git a/src/genie/libs/parser/iosxe/tests/ShowControllerEthernetControllerInterfaceMac/cli/empty/empty_output_output.txt b/src/genie/libs/parser/iosxe/tests/ShowControllerEthernetControllerInterfaceMac/cli/empty/empty_output_output.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/genie/libs/parser/iosxe/tests/ShowControllerEthernetControllerInterfaceMac/cli/equal/golden_output_arguments.json b/src/genie/libs/parser/iosxe/tests/ShowControllerEthernetControllerInterfaceMac/cli/equal/golden_output_arguments.json new file mode 100644 index 0000000000..82891968f3 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowControllerEthernetControllerInterfaceMac/cli/equal/golden_output_arguments.json @@ -0,0 +1,4 @@ +{ +"interface": "GigabitEthernet1/0/24" +} + diff --git a/src/genie/libs/parser/iosxe/tests/ShowControllerEthernetControllerInterfaceMac/cli/equal/golden_output_expected.py b/src/genie/libs/parser/iosxe/tests/ShowControllerEthernetControllerInterfaceMac/cli/equal/golden_output_expected.py new file mode 100644 index 0000000000..5397bd1254 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowControllerEthernetControllerInterfaceMac/cli/equal/golden_output_expected.py @@ -0,0 +1,1416 @@ +expected_output={ + 'cmd': '(get_dsc_dump unit 0 port 23 slot 0 subport -1)', + 'mac_port_link_debounce': { + 'mac_port_0_0_36.link_debounce_state': { + 'm_debug_port_link_flap_usage_counter': 0, + 'm_debug_port_tx_ber_usage_counter': 0, + 'm_link_down_debounce_timer_start': '21-10-2024 ''11:55:02.000 ', + 'm_link_down_debounce_timer_state': 'STOPPED', + 'm_link_up_debounce_timer_start': '21-10-2024 ''11:55:02.000 ', + 'm_link_up_debounce_timer_state': 'STOPPED', + 'mac_port_link_down_debounce_period_milliseconds': 0, + 'mac_port_link_up_debounce_period_milliseconds': 0 + } + }, + 'mac_port_link_down': { + 'mac_port_0_0_36.link_down_histogram': { + 'bad_rx_link_reset_count': 0, + 'bad_rx_pcs_reset_count': 0, + 'bad_rx_pcs_since_notification': 0, + 'rsf_rx_high_ser_interrupt_register_count': 0, + 'rx_deskew_fifo_overflow_count': { + 1: '0', + 2: '0', + 3: '0', + 4: '0', + 5: '0', + 6: '0', + 7: '0', + 8: '0', + 9: '0', + 10: '0', + 11: '0', + 12: '0', + 13: '0', + 14: '0', + 15: '0', + 16: '0', + 17: '0', + 18: '0', + 19: '0', + 20: '0', + 21: '0', + 22: '0', + 23: '0', + 24: '0', + 25: '0', + 26: '0', + 27: '0', + 28: '0', + 29: '0', + 30: '0', + 31: '0', + 32: '0' + }, + 'rx_link_status_down_count': 0, + 'rx_local_link_status_down_count': 0, + 'rx_pcs_align_status_down_count': 0, + 'rx_pcs_hi_ber_up_count': 0, + 'rx_pcs_link_status_down_count': 0, + 'rx_pma_sig_ok_loss_interrupt_register_count': { + 1: '0', + 2: '0', + 3: '0', + 4: '0', + 5: '0', + 6: '0', + 7: '0', + 8: '0' + }, + 'rx_remote_link_status_down_count': 0 + } + }, + 'mac_port_link_error': { + 'mac_port_0_0_36.link_error_histogram': { + 'bad_rx_pcs_reset_count': 0, + 'buffer_error_count': 0, + 'device_time_fifo_not_empty_count': 0, + 'device_time_override_count': 0, + 'info_rx_input_buf_count': 0, + 'info_tx_input_buf_count': 0, + 'ptp_time_stamp_error_count': 0, + 'rsf_rx_degraded_ser_count': 0, + 'rsf_rx_remote_degraded_ser_count': 0, + 'rx_code_error_count': 0, + 'rx_crc_error_count': 0, + 'rx_invert_crc_error_count': 0, + 'rx_oversize_error_count': 0, + 'rx_undersize_error_count': 0, + 'tx_crc_error_count': 0, + 'tx_missing_eop_error_count': 0, + 'tx_underrun_error_count': 0 + } + }, + 'mpp_port_detai1': { + 'mpp_port_0_0_36:6': { + 'mac_port_config': { + 'an37_mode': 'AN37_SGMII', + 'rx_fc_mode': 'PAUSE', + 'rx_lpi_en': 'false', + 'sw_mode': 'AN37_SGMII', + 'tx_fc_mode': 'NONE', + 'tx_lpi_en': 'false' + }, + 'mac_port_status': { + 'link_state': 'false', + 'link_status': 0, + 'rx_lpi_active': 'false', + 'rx_state': 0, + 'rx_sync_status': 'false', + 'speed': 'E_1G_GMII', + 'tx_lpi_active': 'false', + 'tx_state': 'true' + }, + 'mac_state_histogram': { + 'active': 0, + 'an_base_page': 0, + 'an_complete': 0, + 'an_next_page': 0, + 'an_poll': 0, + 'inactive': 0, + 'link_training': 0, + 'link_up': 0, + 'pcal_stop': 0, + 'pcs_lock': 0, + 'pcs_stable': 0, + 'pcs_unstable': 0, + 'pre_init': 0, + 'reset': 0, + 'test_mode': 0, + 'tuned': 0, + 'tuning': 0, + 'waiting_for_peer': 0 + }, + 'mib_counters': { + 'rx_1024to1518b_frames': 0, + 'rx_128to255b_frames': 0, + 'rx_1519to2500b_frames': 0, + 'rx_2501to9000b_frames': 0, + 'rx_256to511b_frames': 0, + 'rx_512to1023b_frames': 0, + 'rx_64b_frames': 0, + 'rx_65to127b_frames': 0, + 'rx_bytes_ok': 0, + 'rx_crc_errors': 0, + 'rx_frames_ok': 0, + 'rx_lpi_active_cnt': 0, + 'rx_lpi_transition_cnt': 0, + 'rx_mac_code_err': 0, + 'rx_mac_fc_frames_ok': 0, + 'rx_mac_invert': 0, + 'rx_oob_mac_code_err': 0, + 'rx_oob_mac_crc_err': 0, + 'rx_oob_mac_frames_ok': 0, + 'rx_oob_mac_invert_crc': 0, + 'rx_oversize_err': 0, + 'rx_undersize_err': 0, + 'tx_1024to1518b_frames': 0, + 'tx_128to255b_frames': 0, + 'tx_1519to2500b_frames': 0, + 'tx_2501to9000b_frames': 0, + 'tx_256to511b_frames': 0, + 'tx_512to1023b_frames': 0, + 'tx_64b_frames': 0, + 'tx_65to127b_frames': 0, + 'tx_bytes_ok': 0, + 'tx_crc_errors': 0, + 'tx_frames_ok': 0, + 'tx_lpi_active_cnt': 0, + 'tx_lpi_transition_cnt': 0, + 'tx_mac_fc_frames_ok': 0, + 'tx_mac_missing_eop_err': 0, + 'tx_mac_underrun_err': 0, + 'tx_oob_mac_crc_err': 0, + 'tx_oob_mac_frames_ok': 0 + } + } + }, + 'multiport_detail': { + 'multiport_phy_0_0_36': { + 'device_info': { + 'sdk_version': '24.7.4120.7.2' + }, + 'eye_capture': { + 'veye_data': { + 'is_left_eye_good': 'true', + 'is_right_eye_good': 'true', + 'left_eye_ber': '2.1697873926286171e-31', + 'right_eye_ber': '3.1899780087939131e-27', + 'serdes_id': 36, + 'serdes_index_in_port': 0, + 'veye_values': { + 1: '0', + 2: '0', + 3: '0', + 4: '0', + 5: '0', + 6: '0', + 7: '0', + 8: '0', + 9: '0', + 10: '0', + 11: '1', + 12: '275', + 13: '7270', + 14: '88472', + 15: '508586', + 16: '1540766', + 17: '2525795', + 18: '2453225', + 19: '1716878', + 20: '873217', + 21: '239674', + 22: '33689', + 23: '1917', + 24: '43', + 25: '0', + 26: '0', + 27: '0', + 28: '0', + 29: '0', + 30: '0', + 31: '0', + 32: '0', + 33: '0', + 34: '0', + 35: '0', + 36: '0', + 37: '0', + 38: '0', + 39: '0', + 40: '0', + 41: '18', + 42: '568', + 43: '9812', + 44: '93159', + 45: '525488', + 46: '1546866', + 47: '2625032', + 48: '2698970', + 49: '1664615', + 50: '642971', + 51: '151864', + 52: '18121', + 53: '914', + 54: '15', + 55: '1', + 56: '0', + 57: '0', + 58: '0', + 59: '0', + 60: '0', + 61: '0', + 62: '0', + 63: '0', + 64: '0', + 65: '0' + } + } + }, + 'mac_port_config': { + 'fec_mode': 'NONE', + 'ifg': 0, + 'num_of_serdes': 1, + 'serdes_info': { + 'anlt_order': 36, + 'rx_polarity_inversion': 0, + 'rx_source': 36, + 'tx_polarity_inversion': 0 + }, + 'serdes_speed': 'E_1G_GMII', + 'slice': 0 + }, + 'mac_port_soft_state': { + 'an_enabled': 'false', + 'anlt_mode': 'NONE', + 'bad_tunes': 0, + 'check_ser_ber': 'false', + 'continuous_tuning': 'true', + 'dfe_eid': 'false', + 'enable_eid': 'false', + 'fec_bypass': 'NONE', + 'fec_mode': 'NONE', + 'ignore_long_tune': 'false', + 'link_management': 'true', + 'loopback_mode': 'NONE', + 'm_is_stop_at_state': 'false', + 'm_state_to_stop': 'ACTIVE', + 'pcal_stop_rx_disabled': 'false', + 'pcs_test_mode': 'NONE', + 'pma_rx_test_mode': 'NONE', + 'pma_tx_test_mode': 'NONE', + 'port_slice_mode': 'NETWORK', + 'port_state': 'LINK_UP', + 'remote_update_notification_count': 0, + 'rx_fc_mode': 'NONE', + 'rx_fc_term_mode': 'true', + 'serdes_post_anlt_tune_disable': 'false', + 'serdes_speed_gbps': 11, + 'tune_and_pcs_lock_iter': 0, + 'tune_timeout_inform': 'false', + 'tune_with_pcs_lock': 0, + 'tx_fc_mode': 'NONE' + }, + 'mac_port_status': { + 'am_lock': { + 1: 'false' + }, + 'bip_err': 0, + 'high_ber': 'false', + 'link_fault_status': 'NO_FAULT', + 'link_state': 'true', + 'mac_pcs_lane_mapping': { + 1: '0' + }, + 'pcs_ber': 0, + 'pcs_block_err': 0, + 'pcs_status': 'true', + 'tune_status': 'true' + }, + 'mac_state_histogram': { + 'active': 2, + 'an_base_page': 0, + 'an_complete': 0, + 'an_next_page': 0, + 'an_poll': 0, + 'bad_eye_retry': 0, + 'inactive': 0, + 'link_training': 0, + 'link_up': 1, + 'pcal_stop': 0, + 'pcs_lock': 1, + 'pcs_stable': 1, + 'pcs_unstable': 0, + 'pre_init': 0, + 'reset': 0, + 'serdes_0': { + 'check_tuned': 0, + 'inactive': 0, + 'locked': 0, + 'rx_init': 0, + 'start_tuning': 0 + }, + 'test_mode': 0, + 'tuned': 1, + 'tuning': 1, + 'waiting_for_peer': 1 + }, + 'mib_counters': { + 'rx_1024to1518b_frames': 0, + 'rx_128to255b_frames': 0, + 'rx_1519to2500b_frames': 0, + 'rx_2501to9000b_frames': 0, + 'rx_256to511b_frames': 0, + 'rx_512to1023b_frames': 0, + 'rx_64b_frames': 0, + 'rx_65to127b_frames': 0, + 'rx_bytes_ok': 0, + 'rx_crc_errors': 0, + 'rx_frames_ok': 0, + 'rx_mac_code_err': 0, + 'rx_mac_fc_frames_ok': 0, + 'rx_mac_invert': 0, + 'rx_mac_tc_fc_frames_ok': { + 1: '0', + 2: '0', + 3: '0', + 4: '0', + 5: '0', + 6: '0', + 7: '0', + 8: '0' + }, + 'rx_mac_unicast_ok': 0, + 'rx_oob_mac_code_err': 0, + 'rx_oob_mac_crc_err': 0, + 'rx_oob_mac_frames_ok': 0, + 'rx_oob_mac_invert_crc': 0, + 'rx_oversize_err': 0, + 'rx_undersize_err': 0, + 'rx_xoff_state_duration': { + 1: '0', + 2: '0', + 3: '0', + 4: '0', + 5: '0', + 6: '0', + 7: '0', + 8: '0' + }, + 'tx_1024to1518b_frames': 0, + 'tx_128to255b_frames': 0, + 'tx_1519to2500b_frames': 0, + 'tx_2501to9000b_frames': 0, + 'tx_256to511b_frames': 0, + 'tx_512to1023b_frames': 0, + 'tx_64b_frames': 0, + 'tx_65to127b_frames': 0, + 'tx_bytes_ok': 0, + 'tx_crc_errors': 0, + 'tx_drained_packets': 0, + 'tx_frames_ok': 0, + 'tx_mac_fc_frames_ok': 0, + 'tx_mac_missing_eop_err': 0, + 'tx_mac_tc_fc_frames_ok': { + 1: '0', + 2: '0', + 3: '0', + 4: '0', + 5: '0', + 6: '0', + 7: '0', + 8: '0' + }, + 'tx_mac_underrun_err': 0, + 'tx_mac_unicast_ok': 0, + 'tx_oob_mac_crc_err': 0, + 'tx_oob_mac_frames_ok': 0, + 'tx_xoff_state_duration': { + 1: '0', + 2: '0', + 3: '0', + 4: '0', + 5: '0', + 6: '0', + 7: '0', + 8: '0' + } + }, + 'reg_dump': { + 'an_debug_1': { + '0xb110': '0x0', + '0xb114': '0x0', + '0xb118': '0x0', + '0xb11c': '0x0', + '0xb120': '0x0', + '0xb124': '0x0', + '0xb128': '0x0', + '0xb12c': '0x0', + '0xb130': '0x0', + '0xb134': '0x0', + '0xb138': '0x0', + '0xb13c': '0x0', + '0xb140': '0x0', + '0xb144': '0x0', + '0xb148': '0x0', + '0xb14c': '0x0', + '0xb150': '0x0', + '0xb154': '0x0', + '0xb158': '0x0', + '0xb15c': '0x0', + '0xb160': '0x0', + '0xb164': '0x0', + '0xb168': '0x0', + '0xb16c': '0x0', + '0xb170': '0x0', + '0xb174': '0x0', + '0xb178': '0x0', + '0xb17c': '0x0', + '0xb180': '0x0', + '0xb184': '0x0', + '0xb188': '0x0', + '0xb18c': '0x0', + '0xb190': '0x0', + '0xb194': '0x0', + '0xb198': '0x0', + '0xb19c': '0x0' + }, + 'an_debug_2': { + '0xb350': '0x0', + '0xb354': '0x0', + '0xb358': '0x0', + '0xb35c': '0x0', + '0xb360': '0x0', + '0xb364': '0x0', + '0xb368': '0x0', + '0xb36c': '0x0', + '0xb370': '0x0', + '0xb374': '0x0', + '0xb378': '0x0', + '0xb37c': '0x0', + '0xb380': '0x0', + '0xb384': '0x0', + '0xb388': '0x0', + '0xb38c': '0x0', + '0xb390': '0x0', + '0xb394': '0x0', + '0xb398': '0x0', + '0xb39c': '0x0', + '0xb3a0': '0x0', + '0xb3a4': '0x0', + '0xb3a8': '0x0', + '0xb3ac': '0x0', + '0xb3b0': '0x0', + '0xb3b4': '0x0', + '0xb3b8': '0x0', + '0xb3bc': '0x0', + '0xb3c0': '0x0', + '0xb3c4': '0x0', + '0xb3c8': '0x0', + '0xb3cc': '0x0', + '0xb3d0': '0x0', + '0xb3d4': '0x0', + '0xb3d8': '0x0', + '0xb3dc': '0x0', + '0xb3e0': '0x0', + '0xb3e4': '0x0', + '0xb3e8': '0x0', + '0xb3ec': '0x0', + '0xb3f0': '0x0', + '0xb3f4': '0x0', + '0xb3f8': '0x0', + '0xb3fc': '0x0', + '0xb400': '0x0', + '0xb404': '0x0', + '0xb408': '0x405', + '0xb40c': '0xb408', + '0xb410': '0x8ec93c09', + '0xb414': '0x40', + '0xb418': '0x41', + '0xb41c': '0x0', + '0xb420': '0x0', + '0xb424': '0x0', + '0xb428': '0x0', + '0xb42c': '0x0', + '0xb430': '0x0', + '0xb434': '0x0', + '0xb438': '0x0', + '0xb43c': '0x0', + '0xb440': '0x0', + '0xb444': '0x0', + '0xb448': '0x405', + '0xb44c': '0xb44c', + '0xb450': '0x3', + '0xb454': '0x24', + '0xb458': '0x25', + '0xb45c': '0x0', + '0xb460': '0x0', + '0xb464': '0x0', + '0xb468': '0x0', + '0xb46c': '0x0', + '0xb470': '0x0', + '0xb474': '0x0', + '0xb478': '0x0', + '0xb47c': '0x0', + '0xb480': '0x0', + '0xb484': '0x0', + '0xb488': '0x405', + '0xb48c': '0xb480', + '0xb490': '0x5', + '0xb494': '0x3e', + '0xb498': '0x3f', + '0xb49c': '0x0' + }, + 'autoneg': { + '0x0': '0x2002010', + '0x10': '0x0', + '0x14': '0x0', + '0x18': '0x0', + '0x1c': '0x0', + '0x20': '0x0', + '0x24': '0x0', + '0x28': '0x0', + '0x2c': '0x0', + '0x30': '0x0', + '0x34': '0x0', + '0x38': '0x0', + '0x3c': '0x0', + '0x4': '0x0', + '0x40': '0x0', + '0x44': '0x0', + '0x48': '0x0', + '0x4c': '0x0', + '0x50': '0x0', + '0x54': '0x0', + '0x58': '0x0', + '0x5c': '0x0', + '0x60': '0x0', + '0x64': '0x0', + '0x68': '0x0', + '0x6c': '0x0', + '0x70': '0x0', + '0x74': '0x0', + '0x78': '0x0', + '0x7c': '0x0', + '0x8': '0x0', + '0xc': '0x0', + 'serdes_id': 36, + 'serdes_index_in_port': 0 + }, + 'linktraining': { + '0x0': '0x0', + '0x10': '0x0', + '0x14': '0x0', + '0x18': '0x0', + '0x1c': '0x0', + '0x20': '0x0', + '0x24': '0x0', + '0x28': '0x0', + '0x2c': '0x0', + '0x30': '0x0', + '0x34': '0x0', + '0x38': '0x0', + '0x3c': '0x0', + '0x4': '0x0', + '0x40': '0x0', + '0x44': '0x0', + '0x48': '0x0', + '0x4c': '0x0', + '0x50': '0x0', + '0x54': '0x0', + '0x58': '0x0', + '0x5c': '0x0', + '0x60': '0x0', + '0x64': '0x0', + '0x68': '0x0', + '0x6c': '0x0', + '0x70': '0x0', + '0x74': '0x0', + '0x78': '0x0', + '0x7c': '0x0', + '0x8': '0x0', + '0xc': '0x0', + 'serdes_id': 36, + 'serdes_index_in_port': 0 + }, + 'lt_debug_1': { + '0xa830': '0x0', + '0xa834': '0x0', + '0xa838': '0x0', + '0xa83c': '0x0', + '0xa840': '0x0', + '0xa844': '0x0', + '0xa848': '0x0', + '0xa84c': '0x0', + '0xa850': '0x0', + '0xa854': '0x0', + '0xa858': '0x0', + '0xa85c': '0x8', + '0xa860': '0x0', + '0xa864': '0x0', + '0xa868': '0x0', + '0xa86c': '0x0', + '0xa870': '0x0', + '0xa874': '0x0', + '0xa878': '0x0', + '0xa87c': '0x0', + '0xa880': '0x0', + '0xa884': '0x0', + '0xa888': '0x0', + '0xa88c': '0x0', + '0xa890': '0x0', + '0xa894': '0x0', + '0xa898': '0x0', + '0xa89c': '0x0', + '0xa8a0': '0x0', + '0xa8a4': '0x0', + '0xa8a8': '0x0', + '0xa8ac': '0x0', + '0xa8b0': '0x0', + '0xa8b4': '0x0', + '0xa8b8': '0x0', + '0xa8bc': '0x0', + '0xa8c0': '0x0', + '0xa8c4': '0x0', + '0xa8c8': '0x0', + '0xa8cc': '0x0', + '0xa8d0': '0x0', + '0xa8d4': '0x0', + '0xa8d8': '0x0', + '0xa8dc': '0x0', + '0xa8e0': '0x0', + '0xa8e4': '0x0', + '0xa8e8': '0x0', + '0xa8ec': '0x8', + '0xa8f0': '0x0', + '0xa8f4': '0x0', + '0xa8f8': '0x0', + '0xa8fc': '0x0', + '0xa900': '0x0', + '0xa904': '0x0', + '0xa908': '0x0', + '0xa90c': '0x0', + '0xa910': '0x0', + '0xa914': '0x0', + '0xa918': '0x82', + '0xa91c': '0x0', + '0xa920': '0x0', + '0xa924': '0x80007016', + '0xa928': '0x0', + '0xa92c': '0x0', + '0xa930': '0x0', + '0xa934': '0x0', + '0xa938': '0x0', + '0xa93c': '0x0', + '0xa940': '0x0', + '0xa944': '0x0', + '0xa948': '0x0', + '0xa94c': '0x0', + '0xa950': '0x0', + '0xa954': '0x0', + '0xa958': '0x0', + '0xa95c': '0x0', + '0xa960': '0x0', + '0xa964': '0x0', + '0xa968': '0x0', + '0xa96c': '0x0', + '0xa970': '0x0', + '0xa974': '0x0', + '0xa978': '0x0', + '0xa97c': '0x0', + '0xa980': '0x0', + '0xa984': '0x0', + '0xa988': '0x0', + '0xa98c': '0x0', + '0xa990': '0x0', + '0xa994': '0x0', + '0xa998': '0x0', + '0xa99c': '0x0', + '0xa9a0': '0x0', + '0xa9a4': '0x0', + '0xa9a8': '0x0', + '0xa9ac': '0x0', + '0xa9b0': '0x0', + '0xa9b4': '0x0', + '0xa9b8': '0x0', + '0xa9bc': '0x0', + '0xa9c0': '0x0', + '0xa9c4': '0x0', + '0xa9c8': '0x0', + '0xa9cc': '0x0', + '0xa9d0': '0x0', + '0xa9d4': '0x0', + '0xa9d8': '0x0', + '0xa9dc': '0x0', + '0xa9e0': '0x0', + '0xa9e4': '0x0', + '0xa9e8': '0x0', + '0xa9ec': '0x0', + '0xa9f0': '0x0', + '0xa9f4': '0x0', + '0xa9f8': '0x0', + '0xa9fc': '0x0', + '0xaa00': '0x0', + '0xaa04': '0x0', + '0xaa08': '0x0', + '0xaa0c': '0x0', + '0xaa10': '0x0', + '0xaa14': '0x0', + '0xaa18': '0x0', + '0xaa1c': '0x0', + '0xaa20': '0x0', + '0xaa24': '0x0', + '0xaa28': '0x0', + '0xaa2c': '0x0', + '0xaa30': '0x0', + '0xaa34': '0x0', + '0xaa38': '0x0', + '0xaa3c': '0x0', + '0xaa40': '0x0', + '0xaa44': '0x0', + '0xaa48': '0x0', + '0xaa4c': '0x0', + '0xaa50': '0x0', + '0xaa54': '0x0', + '0xaa58': '0x0', + '0xaa5c': '0x0', + '0xaa60': '0x0' + }, + 'lt_debug_2': { + '0xa630': '0x0', + '0xa634': '0x0', + '0xa638': '0x0', + '0xa63c': '0x0', + '0xa640': '0x0', + '0xa644': '0x0', + '0xa648': '0x0', + '0xa64c': '0x0', + '0xa650': '0x0', + '0xa654': '0x0', + '0xa658': '0x0', + '0xa65c': '0x0', + '0xa660': '0x0', + '0xa664': '0x0', + '0xa668': '0x0', + '0xa66c': '0x0', + '0xa670': '0x0', + '0xa674': '0x0', + '0xa678': '0x0', + '0xa67c': '0x0', + '0xa680': '0x0', + '0xa684': '0x0', + '0xa688': '0x0', + '0xa68c': '0x0', + '0xa690': '0x0', + '0xa694': '0x0', + '0xa698': '0x0', + '0xa69c': '0x0', + '0xa6a0': '0x0', + '0xa6a4': '0x0', + '0xa6a8': '0x0', + '0xa6ac': '0x0' + }, + 'p_reg': { + '0x0': '0x0', + '0x10': '0x0', + '0x14': '0x0', + '0x4': '0x0', + '0x8': '0x0', + '0xc': '0x0', + 'serdes_id': 36, + 'serdes_index_in_port': 0 + }, + 'quad_reg': { + '0x0': '0x0', + '0x10': '0x3551019', + '0x14': '0x551159', + '0x18': '0x551159', + '0x1c': '0x551159', + '0x20': '0x0', + '0x24': '0x0', + '0x28': '0x0', + '0x2c': '0x0', + '0x30': '0x2200f00', + '0x34': '0x1f00', + '0x38': '0x50000000', + '0x3c': '0x2029', + '0x4': '0x0', + '0x40': '0xe4', + '0x44': '0x0', + '0x48': '0x0', + '0x4c': '0x0', + '0x50': '0x0', + '0x54': '0x0', + '0x58': '0x0', + '0x5c': '0x0', + '0x60': '0x0', + '0x64': '0x0', + '0x68': '0x0', + '0x6c': '0x0', + '0x70': '0x0', + '0x74': '0x0', + '0x78': '0x0', + '0x7c': '0x0', + '0x8': '0x0', + '0xc': '0x0', + 'serdes_id': 36, + 'serdes_index_in_port': 0 + }, + 'rx_sts': { + '0x0': '0x0', + '0x10': '0x0', + '0x14': '0x0', + '0x18': '0x0', + '0x1c': '0x0', + '0x20': '0x1', + '0x24': '0x0', + '0x28': '0x7d0', + '0x2c': '0x0', + '0x30': '0x0', + '0x34': '0x0', + '0x38': '0x0', + '0x3c': '0x404a7', + '0x4': '0x32', + '0x40': '0x0', + '0x44': '0x0', + '0x48': '0x0', + '0x4c': '0x0', + '0x8': '0xa', + '0xc': '0x0', + 'serdes_id': 36, + 'serdes_index_in_port': 0 + }, + 'rxdtop': { + '0x0': '0x8aaae218', + '0x10': '0x2e42408', + '0x100': '0x0', + '0x104': '0x0', + '0x108': '0x0', + '0x10c': '0x0', + '0x110': '0x0', + '0x114': '0x0', + '0x118': '0x0', + '0x11c': '0x0', + '0x120': '0x3fd00ff', + '0x124': '0x6fe0200', + '0x128': '0x4fe0200', + '0x12c': '0x4fe0102', + '0x130': '0x4fc01ff', + '0x134': '0x4fe0100', + '0x138': '0x4fd0201', + '0x13c': '0x3fd0200', + '0x14': '0x0', + '0x140': '0x20000', + '0x144': '0xffffff00', + '0x148': '0xffffffff', + '0x14c': '0x40004000', + '0x150': '0x8080002', + '0x154': '0x21000201', + '0x158': '0x10000', + '0x15c': '0x0', + '0x160': '0x60000000', + '0x164': '0xffff000', + '0x168': '0x3fff0000', + '0x16c': '0x0', + '0x170': '0x1', + '0x174': '0x0', + '0x178': '0x0', + '0x17c': '0x0', + '0x18': '0xc000099e', + '0x180': '0x0', + '0x184': '0x0', + '0x188': '0x0', + '0x18c': '0x0', + '0x190': '0x0', + '0x194': '0x0', + '0x198': '0x0', + '0x19c': '0x0', + '0x1a0': '0x0', + '0x1a4': '0x0', + '0x1a8': '0x0', + '0x1ac': '0x0', + '0x1b0': '0x0', + '0x1b4': '0x0', + '0x1b8': '0x0', + '0x1bc': '0x0', + '0x1c': '0x1802eec', + '0x1c0': '0x0', + '0x1c4': '0x0', + '0x1c8': '0x0', + '0x1cc': '0x0', + '0x1d0': '0x0', + '0x1d4': '0x0', + '0x1d8': '0x0', + '0x1dc': '0x0', + '0x1e0': '0x0', + '0x1e4': '0x0', + '0x1e8': '0x0', + '0x1ec': '0x0', + '0x1f0': '0x1314140', + '0x1f4': '0x0', + '0x1f8': '0x1802814', + '0x1fc': '0x0', + '0x20': '0x80000000', + '0x200': '0x0', + '0x204': '0x0', + '0x208': '0x0', + '0x20c': '0x0', + '0x210': '0x0', + '0x214': '0x0', + '0x218': '0x0', + '0x21c': '0x0', + '0x220': '0x0', + '0x224': '0x0', + '0x228': '0x0', + '0x22c': '0x0', + '0x230': '0x0', + '0x234': '0x0', + '0x238': '0x0', + '0x23c': '0x0', + '0x24': '0x0', + '0x240': '0x0', + '0x244': '0x0', + '0x248': '0x0', + '0x24c': '0x0', + '0x250': '0x0', + '0x254': '0x0', + '0x258': '0x0', + '0x25c': '0x0', + '0x260': '0x0', + '0x264': '0x0', + '0x268': '0x0', + '0x26c': '0x0', + '0x270': '0x0', + '0x274': '0x0', + '0x278': '0x0', + '0x27c': '0x0', + '0x28': '0x0', + '0x280': '0x0', + '0x284': '0x0', + '0x288': '0x0', + '0x28c': '0x0', + '0x290': '0x0', + '0x294': '0x0', + '0x298': '0x0', + '0x29c': '0x0', + '0x2a0': '0x0', + '0x2a4': '0x0', + '0x2a8': '0x0', + '0x2ac': '0x0', + '0x2b0': '0x0', + '0x2b4': '0x0', + '0x2b8': '0x0', + '0x2bc': '0x0', + '0x2c': '0x0', + '0x2c0': '0x0', + '0x2c4': '0x0', + '0x2c8': '0x0', + '0x2cc': '0x0', + '0x2d0': '0x0', + '0x2d4': '0x0', + '0x2d8': '0x0', + '0x2dc': '0x0', + '0x2e0': '0x0', + '0x2e4': '0x0', + '0x2e8': '0x0', + '0x2ec': '0x0', + '0x2f0': '0x400', + '0x2f4': '0x510a0000', + '0x2f8': '0xe1', + '0x2fc': '0x55aa0321', + '0x30': '0x7ec27f', + '0x34': '0x0', + '0x38': '0x0', + '0x3c': '0x0', + '0x4': '0xd1004760', + '0x40': '0xffff003f', + '0x44': '0x3ac7e', + '0x48': '0x3e000403', + '0x4c': '0x7f6', + '0x50': '0x7c58', + '0x54': '0x0', + '0x58': '0x0', + '0x5c': '0x0', + '0x60': '0x0', + '0x64': '0x1040e400', + '0x68': '0x0', + '0x6c': '0x0', + '0x70': '0xffff2ff0', + '0x74': '0x30001ff', + '0x78': '0x0', + '0x7c': '0x0', + '0x8': '0x95ffa56', + '0x80': '0x7f000000', + '0x84': '0x39', + '0x88': '0x32800200', + '0x8c': '0x550013', + '0x90': '0x0', + '0x94': '0x0', + '0x98': '0x0', + '0x9c': '0x0', + '0xa0': '0x326020f0', + '0xa4': '0x12451', + '0xa8': '0x0', + '0xac': '0x0', + '0xb0': '0x11c78064', + '0xb4': '0x0', + '0xb8': '0x0', + '0xbc': '0x0', + '0xc': '0xa004008', + '0xc0': '0x31648511', + '0xc4': '0x24953345', + '0xc8': '0x810ff20', + '0xcc': '0x3434000e', + '0xd0': '0x2143214', + '0xd4': '0x883c743', + '0xd8': '0x30400200', + '0xdc': '0x1600b53d', + '0xe0': '0x22', + '0xe4': '0x0', + '0xe8': '0x0', + '0xec': '0x0', + '0xf0': '0x0', + '0xf4': '0x0', + '0xf8': '0x0', + '0xfc': '0x0', + 'serdes_id': 36, + 'serdes_index_in_port': 0 + }, + 's_reg': { + '0x0': '0x0', + '0x10': '0x0', + '0x14': '0x0', + '0x18': '0x0', + '0x1c': '0x1', + '0x20': '0xfa', + '0x24': '0xfa', + '0x28': '0x30003', + '0x2c': '0x0', + '0x4': '0x0', + '0x8': '0x0', + '0xc': '0x0', + 'serdes_id': 36, + 'serdes_index_in_port': 0 + }, + 'txdtop': { + '0x0': '0x224003a0', + '0x10': '0x81201513', + '0x14': '0x80000000', + '0x18': '0x22', + '0x1c': '0x0', + '0x20': '0x0', + '0x24': '0x0', + '0x28': '0x0', + '0x2c': '0x0', + '0x30': '0x0', + '0x34': '0x0', + '0x38': '0x0', + '0x3c': '0x0', + '0x4': '0x7c0000', + '0x40': '0x1e419', + '0x44': '0x65000000', + '0x48': '0x0', + '0x4c': '0x0', + '0x50': '0x0', + '0x54': '0x0', + '0x58': '0x0', + '0x5c': '0x0', + '0x60': '0x3f0022', + '0x64': '0x0', + '0x68': '0x0', + '0x6c': '0x0', + '0x70': '0x0', + '0x74': '0x0', + '0x78': '0x0', + '0x7c': '0x0', + '0x8': '0x0', + '0x80': '0x0', + '0x84': '0x0', + '0x88': '0x0', + '0x8c': '0x0', + '0x90': '0x0', + '0x94': '0x0', + '0x98': '0x0', + '0x9c': '0x0', + '0xa0': '0x0', + '0xa4': '0x0', + '0xa8': '0x0', + '0xac': '0x0', + '0xb0': '0x0', + '0xb4': '0x0', + '0xb8': '0x0', + '0xbc': '0x0', + '0xc': '0xd5bf7a96', + '0xc0': '0x0', + '0xc4': '0x0', + '0xc8': '0x0', + '0xcc': '0x0', + '0xd0': '0x0', + '0xd4': '0x0', + '0xd8': '0x0', + '0xdc': '0x0', + '0xe0': '0x0', + '0xe4': '0x0', + '0xe8': '0x0', + '0xec': '0x0', + '0xf0': '0x400', + '0xf4': '0x0', + '0xf8': '0x0', + '0xfc': '0x55aa1321', + 'serdes_id': 36, + 'serdes_index_in_port': 0 + } + }, + 'serdes_config': { + 'serdes_settings': { + 'flow_chart_settings': { + 'cdr_lol_th': 50, + 'fir_check_en': 1, + 'force_pif_en': 0, + 'freq_acc_good_th': 40, + 'lot_detection_period': 1000, + 'lot_th': '0x400', + 'lot_veye_high': 8, + 'lot_veye_low': -8, + 'lot_veye_sample_h': 0, + 'lot_veye_sample_l': 19000000, + 'mse_good_th': '0x180', + 'ready_wait_time': 1, + 'sd_th': 50, + 'tuning_counter': '0xa', + 'tuning_idle_period': 200, + 'veye_good_th': 0, + 'veye_high': 8, + 'veye_lot_th': 10, + 'veye_low': -8, + 'veye_sample_h': 0, + 'veye_sample_l': 19000000 + }, + 'rx_settings': { + 'adc_bits_option': 'Default', + 'adc_sar_clock_option': 'Default', + 'dfe_inv': 0, + 'fir_main_tap': 3, + 'graycode': 'Disabled', + 'kfreq': 1, + 'kphase': 3, + 'lot_veye_high_th': 8, + 'lot_veye_low_th': -8, + 'odt_atten_en': 1, + 'odt_range': 15, + 'parallel_if': '20T', + 'pll_sel': 'PLL0', + 'polarity_flipped': 'Disabled', + 'precoder': 'Disabled', + 'rx_sym_map0': 0, + 'rx_sym_map1': 1, + 'rx_sym_map2': 2, + 'rx_sym_map3': 3, + 'rxpc': 0, + 'serdes_id': 36, + 'serdes_index_in_port': 0, + 'speed': '10NRZ ''GHz', + 'status': 'ETP_OK', + 'swizzle': 'LSB ''first', + 'targ_shadow': { + 1: '64', + 2: '16' + }, + 'term_option': 'TERM_2', + 'tx_to_rx_loopback': 'Disabled', + 'veye_high_th': 8, + 'veye_low_th': -8 + }, + 'tx_settings': { + 'graycode': 'Disabled', + 'parallel_if': '20T', + 'pll_sel': 'PLL0', + 'polarity_flipped': 'False', + 'precoder': 'Disabled', + 'rx_to_tx_loopback': 'Disabled', + 'serdes_id': 36, + 'serdes_index_in_port': 0, + 'speed': '10 ''NRZ ''GHz', + 'status': 'ETP_OK', + 'swizzle': 'LSB ''first', + 'tx_fir': { + 1: '0', + 2: '0', + 3: '80', + 4: '0', + 5: '0' + }, + 'tx_output': 'Enabled', + 'tx_sym_map0': 0, + 'tx_sym_map1': 1, + 'tx_sym_map2': 2, + 'tx_sym_map3': 3, + 'txfir_mode': 'FIR' + } + } + }, + 'serdes_parameters': { + 'index_0': { + 'datapath_rx_swizzle': 1, + 'datapath_tx_precode': 0, + 'datapath_tx_swizzle': 1, + 'rx_adc_lbw_en': 8, + 'rx_afe_input_vcm': 2, + 'rx_afe_rcode_min': 1, + 'rx_freq_acc_threshold': 55, + 'rx_gaindac_min': 5, + 'rx_initial_2d_rcode': 7, + 'rx_kfir4': 3, + 'rx_kfreq': -1, + 'rx_kgain2': 1, + 'rx_kphase': -1, + 'rx_lot_veye_high_threshold': -4, + 'rx_lot_veye_low_threshold': 4, + 'rx_mse_good_threshold': 384, + 'rx_mse_milli_threshold': 2700, + 'rx_odt_atten_enable': 1, + 'rx_odt_range': 15, + 'rx_phase_dac_sweep_en': 0, + 'rx_sd_period': 2000, + 'rx_serdes_sm_go_len': 128, + 'rx_term': 2, + 'tx_main': 80, + 'tx_post': 0, + 'tx_pre1': 0, + 'tx_pre2': 0 + } + }, + 'serdes_status': { + 'fir_shadow': { + 'fir_shadow_h0': 62, + 'fir_shadow_h1': 3, + 'fir_shadow_h10': 0, + 'fir_shadow_h11': 0, + 'fir_shadow_h12': 0, + 'fir_shadow_h13': 31, + 'fir_shadow_h14': 0, + 'fir_shadow_h15': 0, + 'fir_shadow_h2': 246, + 'fir_shadow_h3': 88, + 'fir_shadow_h4': 470, + 'fir_shadow_h5': 2, + 'fir_shadow_h6': 3, + 'fir_shadow_h7': 62, + 'fir_shadow_h8': 0, + 'fir_shadow_h9': 0, + 'serdes_id': 36, + 'serdes_index_in_port': 0 + }, + 'firmware_version': { + 'ver': '0.8.2' + }, + 'fw_rx_status': { + 'exit_record': 0, + 'fault_fir_record': 0, + 'los_detect_counter': 0, + 'los_freq_acc': 0, + 'los_mse': 0, + 'los_record': 0, + 'los_vbin_counter': 0, + 'manual_easylink_record': 0, + 'manual_tuning_record': 0, + 'ready_wait_time_counter': 0, + 'sd_counter': 2000, + 'sd_gaindac': 0, + 'sd_gaindac_2': 0, + 'sd_th': 50, + 'serdes_id': 36, + 'tuning_freq_acc_check': 0, + 'tuning_idle_period_ms': 0, + 'tuning_mse_check': 263335, + 'tuning_status': 0, + 'tunning_counter': 10, + 'veye_bin_counter': 0 + }, + 'rx_status': { + 'adc_lbw_en': 8, + 'afe_bcode': 1, + 'afe_input_vcm': 3, + 'afe_outcom': 0, + 'afe_pcode': 7, + 'afe_rcode': 1, + 'afe_short': 1, + 'ctle_gm_curr': 2, + 'ctle_tia_curr': 2, + 'dc_dac': 99, + 'drv_ldl_curr_out_ctrl': 7, + 'drv_ldo_bled_ctrl': 0, + 'fir_shsep': 60, + 'firs': { + 1: '-1', + 2: '3', + 3: '-8', + 4: '87', + 5: '-40', + 6: '2', + 7: '3', + 8: '-1', + 9: '-1', + 10: '0', + 11: '0', + 12: '-1', + 13: '0', + 14: '0', + 15: '1', + 16: '0' + }, + 'freq_acc': 0, + 'gain_dac': 36, + 'is_firs_valid': 'true', + 'is_mse_valid': 'true', + 'kfir4': 3, + 'mse': '0.94459152221679688', + 'pga_gm_curr': 2, + 'pga_tia_curr': 2, + 'phase_dac_master': 83, + 'rx_dbg1_freq_acc_force': 0, + 'rx_master_curr_sel': 1, + 'rxpi_cml2comos': 0, + 'rxpi_cmlbuf': 64, + 'rxpi_cmlpi': 1, + 'sm_go_len': 32, + 'status': 'ETP_OK', + 'targ_shadow0': 64, + 'targ_shadow1': 16 + } + }, + 'state_transition_history': { + 1: { + 'state': '"ACTIVE",', + 'timestamp': '"21-10-2024 ''11:57:00.542 ''"' + }, + 2: { + 'state': '"WAITING_FOR_PEER",', + 'timestamp': '"21-10-2024 ''11:57:00.606 ''"' + }, + 3: { + 'state': '"ACTIVE",', + 'timestamp': '"21-10-2024 ''11:57:02.641 ''"' + }, + 4: { + 'state': '"TUNING",', + 'timestamp': '"21-10-2024 ''11:57:02.641 ''"' + }, + 5: { + 'state': '"TUNED",', + 'timestamp': '"21-10-2024 ''11:57:02.942 ''"' + }, + 6: { + 'state': '"PCS_LOCK",', + 'timestamp': '"21-10-2024 ''11:57:03.042 ''"' + }, + 7: { + 'state': '"PCS_STABLE",', + 'timestamp': '"21-10-2024 ''11:57:04.092 ''"' + }, + 8: { + 'state': '"LINK_UP",', + 'timestamp': '"21-10-2024 ''11:57:04.092 ''"' + } + }, + 'test_mode': { + 'index_0': '{}' + } + } + }, + 'npu_pdsf_procagent_get_eye_common': 'asic inst 0 port 23 link 36 command ''8', + 'port': 24, + 'rc': '0x0', + 'reason': ' = success', + 'slot': 1 +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowControllerEthernetControllerInterfaceMac/cli/equal/golden_output_output.txt b/src/genie/libs/parser/iosxe/tests/ShowControllerEthernetControllerInterfaceMac/cli/equal/golden_output_output.txt new file mode 100644 index 0000000000..5b14462f47 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowControllerEthernetControllerInterfaceMac/cli/equal/golden_output_output.txt @@ -0,0 +1,1452 @@ +Gi1/0/24 (if_id: 1055) +---------------------------------------------------- + +******* MAC status - DSC DUMP ************ +npu_pdsf_procagent_get_eye_common : asic inst 0 port 23 link 36 command 8 + +Get DSC Dump: Printing MPP status object +{ + "mpp_port_0_0_36:6": { + "mac_state_histogram": { + "PRE_INIT": 0, + "INACTIVE": 0, + "RESET": 0, + "PCAL_STOP": 0, + "AN_BASE_PAGE": 0, + "AN_NEXT_PAGE": 0, + "AN_POLL": 0, + "LINK_TRAINING": 0, + "AN_COMPLETE": 0, + "ACTIVE": 0, + "WAITING_FOR_PEER": 0, + "TUNING": 0, + "TUNED": 0, + "PCS_LOCK": 0, + "PCS_UNSTABLE": 0, + "PCS_STABLE": 0, + "TEST_MODE": 0, + "LINK_UP": 0 + }, + "mac_port_config": { + "rx_lpi_en": "false", + "tx_lpi_en": "false", + "an37_mode": "AN37_SGMII", + "sw_mode": "AN37_SGMII", + "rx_fc_mode": "PAUSE", + "tx_fc_mode": "NONE" + }, + "mac_port_status": { + "link_state": false, + "autoneg complete": false, + "link_status": 0, + "rx_state": 0, + "tx_state": true, + "speed": "E_1G_GMII", + "full duplex": "true", + "rx_lpi_active": "false", + "tx_lpi_active": "false", + "rx_sync_status": "false" + }, + "mib_counters": { + "tx_frames_ok": 0, + "tx_bytes_ok": 0, + "tx_64b_frames": 0, + "tx_65to127b_frames": 0, + "tx_128to255b_frames": 0, + "tx_256to511b_frames": 0, + "tx_512to1023b_frames": 0, + "tx_1024to1518b_frames": 0, + "tx_1519to2500b_frames": 0, + "tx_2501to9000b_frames": 0, + "tx_crc_errors": 0, + "tx_mac_missing_eop_err": 0, + "tx_mac_underrun_err": 0, + "tx_mac_fc_frames_ok": 0, + "tx_oob_mac_frames_ok": 0, + "tx_oob_mac_crc_err": 0, + "tx_lpi_active_cnt": 0, + "tx_lpi_transition_cnt": 0, + "rx_frames_ok": 0, + "rx_bytes_ok": 0, + "rx_64b_frames": 0, + "rx_65to127b_frames": 0, + "rx_128to255b_frames": 0, + "rx_256to511b_frames": 0, + "rx_512to1023b_frames": 0, + "rx_1024to1518b_frames": 0, + "rx_1519to2500b_frames": 0, + "rx_2501to9000b_frames": 0, + "rx_mac_invert": 0, + "rx_crc_errors": 0, + "rx_oversize_err": 0, + "rx_undersize_err": 0, + "rx_mac_code_err": 0, + "rx_mac_fc_frames_ok": 0, + "rx_oob_mac_frames_ok": 0, + "rx_oob_mac_invert_crc": 0, + "rx_oob_mac_crc_err": 0, + "rx_oob_mac_code_err": 0, + "rx_lpi_active_cnt": 0, + "rx_lpi_transition_cnt": 0 + } + }, + "multiport_phy_0_0_36": { + "device_info": { + "SDK_VERSION": "24.7.4120.7.2" + }, + "mac_state_histogram": { + "bad_eye_retry": 0, + "PRE_INIT": 0, + "INACTIVE": 0, + "RESET": 0, + "PCAL_STOP": 0, + "AN_BASE_PAGE": 0, + "AN_NEXT_PAGE": 0, + "AN_POLL": 0, + "LINK_TRAINING": 0, + "AN_COMPLETE": 0, + "ACTIVE": 2, + "WAITING_FOR_PEER": 1, + "TUNING": 1, + "TUNED": 1, + "PCS_LOCK": 1, + "PCS_UNSTABLE": 0, + "PCS_STABLE": 1, + "TEST_MODE": 0, + "LINK_UP": 1, + "serdes_0": { + "INACTIVE": 0, + "RX_INIT": 0, + "CHECK_TUNED": 0, + "START_TUNING": 0, + "LOCKED": 0 + } + }, + "mac_port_config": { + "Slice": 0, + "Ifg": 0, + "fec_mode": "NONE", + "serdes_speed": "E_1G_GMII", + "num_of_serdes": 1, + "serdes_info_36": { + "rx_source": 36, + "anlt_order": 36, + "rx_polarity_inversion": 0, + "tx_polarity_inversion": 0 + } + }, + "mac_port_status": { + "am_lock": [ + false + ], + "high_ber": false, + "link_state": true, + "link_fault_status": "NO_FAULT", + "mac_pcs_lane_mapping": [ + 0 + ], + "pcs_ber": 0, + "pcs_block_err": 0, + "bip_err": 0, + "pcs_status": true, + "tune_status": true + }, + "mac_port_soft_state": { + "an_enabled": false, + "anlt_mode": "NONE", + "bad_tunes": 0, + "check_ser_ber": false, + "continuous_tuning": true, + "dfe_eid": false, + "enable_eid": false, + "m_is_stop_at_state": false, + "m_state_to_stop": "ACTIVE", + "fec_bypass": "NONE", + "fec_mode": "NONE", + "ignore_long_tune": false, + "link_management": true, + "loopback_mode": "NONE", + "pcs_test_mode": "NONE", + "pma_tx_test_mode": "NONE", + "pma_rx_test_mode": "NONE", + "port_slice_mode": "NETWORK", + "port_state": "LINK_UP", + "rx_fc_mode": "NONE", + "rx_fc_term_mode": true, + "serdes_post_anlt_tune_disable": false, + "serdes_speed_gbps": 11, + "tune_and_pcs_lock_iter": 0, + "tune_timeout_inform": false, + "tune_with_pcs_lock": 0, + "remote_update_notification_count": 0, + "tx_fc_mode": "NONE", + "pcal_stop_rx_disabled": false + }, + "mib_counters": { + "tx_frames_ok": 0, + "tx_bytes_ok": 0, + "tx_mac_unicast_ok": 0, + "tx_64b_frames": 0, + "tx_65to127b_frames": 0, + "tx_128to255b_frames": 0, + "tx_256to511b_frames": 0, + "tx_512to1023b_frames": 0, + "tx_1024to1518b_frames": 0, + "tx_1519to2500b_frames": 0, + "tx_2501to9000b_frames": 0, + "tx_drained_packets": 0, + "tx_crc_errors": 0, + "tx_mac_missing_eop_err": 0, + "tx_mac_underrun_err": 0, + "tx_mac_fc_frames_ok": 0, + "tx_mac_tc_fc_frames_ok": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "tx_xoff_state_duration": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "tx_oob_mac_frames_ok": 0, + "tx_oob_mac_crc_err": 0, + "rx_frames_ok": 0, + "rx_bytes_ok": 0, + "rx_mac_unicast_ok": 0, + "rx_64b_frames": 0, + "rx_65to127b_frames": 0, + "rx_128to255b_frames": 0, + "rx_256to511b_frames": 0, + "rx_512to1023b_frames": 0, + "rx_1024to1518b_frames": 0, + "rx_1519to2500b_frames": 0, + "rx_2501to9000b_frames": 0, + "rx_mac_invert": 0, + "rx_crc_errors": 0, + "rx_oversize_err": 0, + "rx_undersize_err": 0, + "rx_mac_code_err": 0, + "rx_mac_fc_frames_ok": 0, + "rx_mac_tc_fc_frames_ok": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "rx_xoff_state_duration": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "rx_oob_mac_frames_ok": 0, + "rx_oob_mac_invert_crc": 0, + "rx_oob_mac_crc_err": 0, + "rx_oob_mac_code_err": 0 + }, + "test_mode": { + "index_0": {} + }, + "state_transition_history": [ + { + "new_state": "ACTIVE", + "timestamp": "21-10-2024 11:57:00.542 " + }, + { + "new_state": "WAITING_FOR_PEER", + "timestamp": "21-10-2024 11:57:00.606 " + }, + { + "new_state": "ACTIVE", + "timestamp": "21-10-2024 11:57:02.641 " + }, + { + "new_state": "TUNING", + "timestamp": "21-10-2024 11:57:02.641 " + }, + { + "new_state": "TUNED", + "timestamp": "21-10-2024 11:57:02.942 " + }, + { + "new_state": "PCS_LOCK", + "timestamp": "21-10-2024 11:57:03.042 " + }, + { + "new_state": "PCS_STABLE", + "timestamp": "21-10-2024 11:57:04.092 " + }, + { + "new_state": "LINK_UP", + "timestamp": "21-10-2024 11:57:04.092 " + } + ], + "serdes_parameters": { + "index_0": { + "DATAPATH_RX_SWIZZLE": 1, + "DATAPATH_TX_PRECODE": 0, + "DATAPATH_TX_SWIZZLE": 1, + "RX_TERM": 2, + "TX_POST": 0, + "TX_PRE1": 0, + "TX_PRE2": 0, + "TX_MAIN": 80, + "RX_AFE_INPUT_VCM": 2, + "RX_ODT_ATTEN_ENABLE": 1, + "RX_ODT_RANGE": 15, + "RX_AFE_RCODE_MIN": 1, + "RX_MSE_GOOD_THRESHOLD": 384, + "RX_KPHASE": -1, + "RX_KFREQ": -1, + "RX_SD_PERIOD": 2000, + "RX_GAINDAC_MIN": 5, + "RX_MSE_MILLI_THRESHOLD": 2700, + "RX_FREQ_ACC_THRESHOLD": 55, + "RX_ADC_LBW_EN": 8, + "RX_INITIAL_2D_RCODE": 7, + "RX_SERDES_SM_GO_LEN": 128, + "RX_KGAIN2": 1, + "RX_KFIR4": 3, + "RX_LOT_VEYE_LOW_THRESHOLD": 4, + "RX_LOT_VEYE_HIGH_THRESHOLD": -4, + "RX_PHASE_DAC_SWEEP_EN": 0 + } + }, + "serdes_config": { + "serdes_settings": [ + { + "rx_settings": { + "serdes_id": 36, + "serdes_index_in_port": 0, + "status": "ETP_OK", + "speed": "10NRZ GHz", + "pll_sel": "PLL0", + "graycode": "Disabled", + "precoder": "Disabled", + "parallel_if": "20T", + "tx_to_rx_loopback": "Disabled", + "polarity_flipped": "Disabled", + "swizzle": "LSB first", + "fir_main_tap": 3, + "targ_shadow": [ + 64, + 16 + ], + "term_option": "TERM_2", + "adc_bits_option": "Default", + "adc_sar_clock_option": "Default", + "lot_veye_high_th": 8, + "lot_veye_low_th": -8, + "veye_high_th": 8, + "veye_low_th": -8, + "dfe_inv": 0, + "kfreq": 1, + "kphase": 3, + "odt_atten_en": 1, + "odt_range": 15, + "rx_sym_map0": 0, + "rx_sym_map1": 1, + "rx_sym_map2": 2, + "rx_sym_map3": 3, + "rxpc": 0 + }, + "tx_settings": { + "serdes_id": 36, + "serdes_index_in_port": 0, + "status": "ETP_OK", + "tx_output": "Enabled", + "speed": "10 NRZ GHz", + "pll_sel": "PLL0", + "graycode": "Disabled", + "precoder": "Disabled", + "parallel_if": "20T", + "rx_to_tx_loopback": "Disabled", + "polarity_flipped": "False", + "swizzle": "LSB first", + "txfir_mode": "FIR", + "tx_fir": [ + 0, + 0, + 80, + 0, + 0 + ], + "tx_sym_map0": 0, + "tx_sym_map1": 1, + "tx_sym_map2": 2, + "tx_sym_map3": 3 + }, + "flow_chart_settings": { + "force_pif_en": 0, + "SD_TH": 50, + "VEYE_LOW": -8, + "VEYE_HIGH": 8, + "veye_sample_l": 19000000, + "veye_sample_h": 0, + "VEYE_GOOD_TH": 0, + "MSE_GOOD_TH": "0x180", + "LOT_TH": "0x400", + "FREQ_ACC_GOOD_TH": 40, + "ready_wait_time": 1, + "fir_check_en": 1, + "VEYE_LOT_TH": 10, + "tuning_counter": "0xa", + "tuning_idle_period": 200, + "LOT_detection_period": 1000, + "CDR_LOL_TH": 50, + "LOT_VEYE_LOW": -8, + "LOT_VEYE_HIGH": 8, + "lot_veye_sample_l": 19000000, + "lot_veye_sample_h": 0 + } + } + ] + }, + "serdes_status": { + "Firmware_Version": { + "VER": "0.8.2" + }, + "rx_status": [ + { + "status": "ETP_OK", + "mse": 0.94459152221679688, + "is_mse_valid": true, + "firs": [ + -1, + 3, + -8, + 87, + -40, + 2, + 3, + -1, + -1, + 0, + 0, + -1, + 0, + 0, + 1, + 0 + ], + "is_firs_valid": true, + "freq_acc": 0, + "adc_lbw_en": 8, + "afe_bcode": 1, + "afe_input_vcm": 3, + "afe_outcom": 0, + "afe_pcode": 7, + "afe_rcode": 1, + "afe_short": 1, + "ctle_gm_curr": 2, + "ctle_tia_curr": 2, + "dc_dac": 99, + "fir_shsep": 60, + "gain_dac": 36, + "kfir4": 3, + "pga_gm_curr": 2, + "pga_tia_curr": 2, + "phase_dac_master": 83, + "rx_dbg1_freq_acc_force": 0, + "rx_master_curr_sel": 1, + "rxpi_cml2comos": 0, + "rxpi_cmlbuf": 64, + "rxpi_cmlpi": 1, + "sm_go_len": 32, + "targ_shadow0": 64, + "targ_shadow1": 16 + } + ], + "tx_status": [ + { + "drv_ldl_curr_out_ctrl": 7, + "drv_ldo_bled_ctrl": 0 + } + ], + "fw_rx_status": [ + { + "serdes_id": 36, + "exit_record": 0, + "fault_fir_record": 0, + "los_detect_counter": 0, + "los_freq_acc": 0, + "los_mse": 0, + "los_record": 0, + "los_vbin_counter": 0, + "manual_easylink_record": 0, + "manual_tuning_record": 0, + "ready_wait_time_counter": 0, + "sd_counter": 2000, + "sd_gaindac": 0, + "sd_gaindac_2": 0, + "sd_th": 50, + "tuning_freq_acc_check": 0, + "tuning_idle_period_ms": 0, + "tuning_mse_check": 263335, + "tuning_status": 0, + "tunning_counter": 10, + "veye_bin_counter": 0 + } + ], + "fir_shadow": [ + { + "serdes_id": 36, + "serdes_index_in_port": 0, + "fir_shadow_h0": 62, + "fir_shadow_h1": 3, + "fir_shadow_h10": 0, + "fir_shadow_h11": 0, + "fir_shadow_h12": 0, + "fir_shadow_h13": 31, + "fir_shadow_h14": 0, + "fir_shadow_h15": 0, + "fir_shadow_h2": 246, + "fir_shadow_h3": 88, + "fir_shadow_h4": 470, + "fir_shadow_h5": 2, + "fir_shadow_h6": 3, + "fir_shadow_h7": 62, + "fir_shadow_h8": 0, + "fir_shadow_h9": 0 + } + ] + }, + "eye_capture": { + "veye_data": [ + { + "serdes_id": 36, + "serdes_index_in_port": 0, + "left_eye_ber": 2.1697873926286171e-31, + "right_eye_ber": 3.1899780087939131e-27, + "is_left_eye_good": true, + "is_right_eye_good": true, + "veye_values": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 275, + 7270, + 88472, + 508586, + 1540766, + 2525795, + 2453225, + 1716878, + 873217, + 239674, + 33689, + 1917, + 43, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 18, + 568, + 9812, + 93159, + 525488, + 1546866, + 2625032, + 2698970, + 1664615, + 642971, + 151864, + 18121, + 914, + 15, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + ] + }, + "reg_dump": { + "Quad_Reg": [ + { + "serdes_id": 36, + "serdes_index_in_port": 0, + "0x0": "0x0", + "0x4": "0x0", + "0x8": "0x0", + "0xc": "0x0", + "0x10": "0x3551019", + "0x14": "0x551159", + "0x18": "0x551159", + "0x1c": "0x551159", + "0x20": "0x0", + "0x24": "0x0", + "0x28": "0x0", + "0x2c": "0x0", + "0x30": "0x2200f00", + "0x34": "0x1f00", + "0x38": "0x50000000", + "0x3c": "0x2029", + "0x40": "0xe4", + "0x44": "0x0", + "0x48": "0x0", + "0x4c": "0x0", + "0x50": "0x0", + "0x54": "0x0", + "0x58": "0x0", + "0x5c": "0x0", + "0x60": "0x0", + "0x64": "0x0", + "0x68": "0x0", + "0x6c": "0x0", + "0x70": "0x0", + "0x74": "0x0", + "0x78": "0x0", + "0x7c": "0x0" + } + ], + "P_Reg": [ + { + "serdes_id": 36, + "serdes_index_in_port": 0, + "0x0": "0x0", + "0x4": "0x0", + "0x8": "0x0", + "0xc": "0x0", + "0x10": "0x0", + "0x14": "0x0" + } + ], + "S_reg": [ + { + "serdes_id": 36, + "serdes_index_in_port": 0, + "0x0": "0x0", + "0x4": "0x0", + "0x8": "0x0", + "0xc": "0x0", + "0x10": "0x0", + "0x14": "0x0", + "0x18": "0x0", + "0x1c": "0x1", + "0x20": "0xfa", + "0x24": "0xfa", + "0x28": "0x30003", + "0x2c": "0x0" + } + ], + "RXDTOP": [ + { + "serdes_id": 36, + "serdes_index_in_port": 0, + "0x0": "0x8aaae218", + "0x4": "0xd1004760", + "0x8": "0x95ffa56", + "0xc": "0xa004008", + "0x10": "0x2e42408", + "0x14": "0x0", + "0x18": "0xc000099e", + "0x1c": "0x1802eec", + "0x20": "0x80000000", + "0x24": "0x0", + "0x28": "0x0", + "0x2c": "0x0", + "0x30": "0x7ec27f", + "0x34": "0x0", + "0x38": "0x0", + "0x3c": "0x0", + "0x40": "0xffff003f", + "0x44": "0x3ac7e", + "0x48": "0x3e000403", + "0x4c": "0x7f6", + "0x50": "0x7c58", + "0x54": "0x0", + "0x58": "0x0", + "0x5c": "0x0", + "0x60": "0x0", + "0x64": "0x1040e400", + "0x68": "0x0", + "0x6c": "0x0", + "0x70": "0xffff2ff0", + "0x74": "0x30001ff", + "0x78": "0x0", + "0x7c": "0x0", + "0x80": "0x7f000000", + "0x84": "0x39", + "0x88": "0x32800200", + "0x8c": "0x550013", + "0x90": "0x0", + "0x94": "0x0", + "0x98": "0x0", + "0x9c": "0x0", + "0xa0": "0x326020f0", + "0xa4": "0x12451", + "0xa8": "0x0", + "0xac": "0x0", + "0xb0": "0x11c78064", + "0xb4": "0x0", + "0xb8": "0x0", + "0xbc": "0x0", + "0xc0": "0x31648511", + "0xc4": "0x24953345", + "0xc8": "0x810ff20", + "0xcc": "0x3434000e", + "0xd0": "0x2143214", + "0xd4": "0x883c743", + "0xd8": "0x30400200", + "0xdc": "0x1600b53d", + "0xe0": "0x22", + "0xe4": "0x0", + "0xe8": "0x0", + "0xec": "0x0", + "0xf0": "0x0", + "0xf4": "0x0", + "0xf8": "0x0", + "0xfc": "0x0", + "0x100": "0x0", + "0x104": "0x0", + "0x108": "0x0", + "0x10c": "0x0", + "0x110": "0x0", + "0x114": "0x0", + "0x118": "0x0", + "0x11c": "0x0", + "0x120": "0x3fd00ff", + "0x124": "0x6fe0200", + "0x128": "0x4fe0200", + "0x12c": "0x4fe0102", + "0x130": "0x4fc01ff", + "0x134": "0x4fe0100", + "0x138": "0x4fd0201", + "0x13c": "0x3fd0200", + "0x140": "0x20000", + "0x144": "0xffffff00", + "0x148": "0xffffffff", + "0x14c": "0x40004000", + "0x150": "0x8080002", + "0x154": "0x21000201", + "0x158": "0x10000", + "0x15c": "0x0", + "0x160": "0x60000000", + "0x164": "0xffff000", + "0x168": "0x3fff0000", + "0x16c": "0x0", + "0x170": "0x1", + "0x174": "0x0", + "0x178": "0x0", + "0x17c": "0x0", + "0x180": "0x0", + "0x184": "0x0", + "0x188": "0x0", + "0x18c": "0x0", + "0x190": "0x0", + "0x194": "0x0", + "0x198": "0x0", + "0x19c": "0x0", + "0x1a0": "0x0", + "0x1a4": "0x0", + "0x1a8": "0x0", + "0x1ac": "0x0", + "0x1b0": "0x0", + "0x1b4": "0x0", + "0x1b8": "0x0", + "0x1bc": "0x0", + "0x1c0": "0x0", + "0x1c4": "0x0", + "0x1c8": "0x0", + "0x1cc": "0x0", + "0x1d0": "0x0", + "0x1d4": "0x0", + "0x1d8": "0x0", + "0x1dc": "0x0", + "0x1e0": "0x0", + "0x1e4": "0x0", + "0x1e8": "0x0", + "0x1ec": "0x0", + "0x1f0": "0x1314140", + "0x1f4": "0x0", + "0x1f8": "0x1802814", + "0x1fc": "0x0", + "0x200": "0x0", + "0x204": "0x0", + "0x208": "0x0", + "0x20c": "0x0", + "0x210": "0x0", + "0x214": "0x0", + "0x218": "0x0", + "0x21c": "0x0", + "0x220": "0x0", + "0x224": "0x0", + "0x228": "0x0", + "0x22c": "0x0", + "0x230": "0x0", + "0x234": "0x0", + "0x238": "0x0", + "0x23c": "0x0", + "0x240": "0x0", + "0x244": "0x0", + "0x248": "0x0", + "0x24c": "0x0", + "0x250": "0x0", + "0x254": "0x0", + "0x258": "0x0", + "0x25c": "0x0", + "0x260": "0x0", + "0x264": "0x0", + "0x268": "0x0", + "0x26c": "0x0", + "0x270": "0x0", + "0x274": "0x0", + "0x278": "0x0", + "0x27c": "0x0", + "0x280": "0x0", + "0x284": "0x0", + "0x288": "0x0", + "0x28c": "0x0", + "0x290": "0x0", + "0x294": "0x0", + "0x298": "0x0", + "0x29c": "0x0", + "0x2a0": "0x0", + "0x2a4": "0x0", + "0x2a8": "0x0", + "0x2ac": "0x0", + "0x2b0": "0x0", + "0x2b4": "0x0", + "0x2b8": "0x0", + "0x2bc": "0x0", + "0x2c0": "0x0", + "0x2c4": "0x0", + "0x2c8": "0x0", + "0x2cc": "0x0", + "0x2d0": "0x0", + "0x2d4": "0x0", + "0x2d8": "0x0", + "0x2dc": "0x0", + "0x2e0": "0x0", + "0x2e4": "0x0", + "0x2e8": "0x0", + "0x2ec": "0x0", + "0x2f0": "0x400", + "0x2f4": "0x510a0000", + "0x2f8": "0xe1", + "0x2fc": "0x55aa0321" + } + ], + "TXDTOP": [ + { + "serdes_id": 36, + "serdes_index_in_port": 0, + "0x0": "0x224003a0", + "0x4": "0x7c0000", + "0x8": "0x0", + "0xc": "0xd5bf7a96", + "0x10": "0x81201513", + "0x14": "0x80000000", + "0x18": "0x22", + "0x1c": "0x0", + "0x20": "0x0", + "0x24": "0x0", + "0x28": "0x0", + "0x2c": "0x0", + "0x30": "0x0", + "0x34": "0x0", + "0x38": "0x0", + "0x3c": "0x0", + "0x40": "0x1e419", + "0x44": "0x65000000", + "0x48": "0x0", + "0x4c": "0x0", + "0x50": "0x0", + "0x54": "0x0", + "0x58": "0x0", + "0x5c": "0x0", + "0x60": "0x3f0022", + "0x64": "0x0", + "0x68": "0x0", + "0x6c": "0x0", + "0x70": "0x0", + "0x74": "0x0", + "0x78": "0x0", + "0x7c": "0x0", + "0x80": "0x0", + "0x84": "0x0", + "0x88": "0x0", + "0x8c": "0x0", + "0x90": "0x0", + "0x94": "0x0", + "0x98": "0x0", + "0x9c": "0x0", + "0xa0": "0x0", + "0xa4": "0x0", + "0xa8": "0x0", + "0xac": "0x0", + "0xb0": "0x0", + "0xb4": "0x0", + "0xb8": "0x0", + "0xbc": "0x0", + "0xc0": "0x0", + "0xc4": "0x0", + "0xc8": "0x0", + "0xcc": "0x0", + "0xd0": "0x0", + "0xd4": "0x0", + "0xd8": "0x0", + "0xdc": "0x0", + "0xe0": "0x0", + "0xe4": "0x0", + "0xe8": "0x0", + "0xec": "0x0", + "0xf0": "0x400", + "0xf4": "0x0", + "0xf8": "0x0", + "0xfc": "0x55aa1321" + } + ], + "AutoNeg": [ + { + "serdes_id": 36, + "serdes_index_in_port": 0, + "0x0": "0x2002010", + "0x4": "0x0", + "0x8": "0x0", + "0xc": "0x0", + "0x10": "0x0", + "0x14": "0x0", + "0x18": "0x0", + "0x1c": "0x0", + "0x20": "0x0", + "0x24": "0x0", + "0x28": "0x0", + "0x2c": "0x0", + "0x30": "0x0", + "0x34": "0x0", + "0x38": "0x0", + "0x3c": "0x0", + "0x40": "0x0", + "0x44": "0x0", + "0x48": "0x0", + "0x4c": "0x0", + "0x50": "0x0", + "0x54": "0x0", + "0x58": "0x0", + "0x5c": "0x0", + "0x60": "0x0", + "0x64": "0x0", + "0x68": "0x0", + "0x6c": "0x0", + "0x70": "0x0", + "0x74": "0x0", + "0x78": "0x0", + "0x7c": "0x0" + } + ], + "LinkTraining": [ + { + "serdes_id": 36, + "serdes_index_in_port": 0, + "0x0": "0x0", + "0x4": "0x0", + "0x8": "0x0", + "0xc": "0x0", + "0x10": "0x0", + "0x14": "0x0", + "0x18": "0x0", + "0x1c": "0x0", + "0x20": "0x0", + "0x24": "0x0", + "0x28": "0x0", + "0x2c": "0x0", + "0x30": "0x0", + "0x34": "0x0", + "0x38": "0x0", + "0x3c": "0x0", + "0x40": "0x0", + "0x44": "0x0", + "0x48": "0x0", + "0x4c": "0x0", + "0x50": "0x0", + "0x54": "0x0", + "0x58": "0x0", + "0x5c": "0x0", + "0x60": "0x0", + "0x64": "0x0", + "0x68": "0x0", + "0x6c": "0x0", + "0x70": "0x0", + "0x74": "0x0", + "0x78": "0x0", + "0x7c": "0x0" + } + ], + "RX_STS": [ + { + "serdes_id": 36, + "serdes_index_in_port": 0, + "0x0": "0x0", + "0x4": "0x32", + "0x8": "0xa", + "0xc": "0x0", + "0x10": "0x0", + "0x14": "0x0", + "0x18": "0x0", + "0x1c": "0x0", + "0x20": "0x1", + "0x24": "0x0", + "0x28": "0x7d0", + "0x2c": "0x0", + "0x30": "0x0", + "0x34": "0x0", + "0x38": "0x0", + "0x3c": "0x404a7", + "0x40": "0x0", + "0x44": "0x0", + "0x48": "0x0", + "0x4c": "0x0" + } + ], + "an_debug_1": [ + { + "0xb110": "0x0", + "0xb114": "0x0", + "0xb118": "0x0", + "0xb11c": "0x0", + "0xb120": "0x0", + "0xb124": "0x0", + "0xb128": "0x0", + "0xb12c": "0x0", + "0xb130": "0x0", + "0xb134": "0x0", + "0xb138": "0x0", + "0xb13c": "0x0", + "0xb140": "0x0", + "0xb144": "0x0", + "0xb148": "0x0", + "0xb14c": "0x0", + "0xb150": "0x0", + "0xb154": "0x0", + "0xb158": "0x0", + "0xb15c": "0x0", + "0xb160": "0x0", + "0xb164": "0x0", + "0xb168": "0x0", + "0xb16c": "0x0", + "0xb170": "0x0", + "0xb174": "0x0", + "0xb178": "0x0", + "0xb17c": "0x0", + "0xb180": "0x0", + "0xb184": "0x0", + "0xb188": "0x0", + "0xb18c": "0x0", + "0xb190": "0x0", + "0xb194": "0x0", + "0xb198": "0x0", + "0xb19c": "0x0" + } + ], + "an_debug_2": [ + { + "0xb350": "0x0", + "0xb354": "0x0", + "0xb358": "0x0", + "0xb35c": "0x0", + "0xb360": "0x0", + "0xb364": "0x0", + "0xb368": "0x0", + "0xb36c": "0x0", + "0xb370": "0x0", + "0xb374": "0x0", + "0xb378": "0x0", + "0xb37c": "0x0", + "0xb380": "0x0", + "0xb384": "0x0", + "0xb388": "0x0", + "0xb38c": "0x0", + "0xb390": "0x0", + "0xb394": "0x0", + "0xb398": "0x0", + "0xb39c": "0x0", + "0xb3a0": "0x0", + "0xb3a4": "0x0", + "0xb3a8": "0x0", + "0xb3ac": "0x0", + "0xb3b0": "0x0", + "0xb3b4": "0x0", + "0xb3b8": "0x0", + "0xb3bc": "0x0", + "0xb3c0": "0x0", + "0xb3c4": "0x0", + "0xb3c8": "0x0", + "0xb3cc": "0x0", + "0xb3d0": "0x0", + "0xb3d4": "0x0", + "0xb3d8": "0x0", + "0xb3dc": "0x0", + "0xb3e0": "0x0", + "0xb3e4": "0x0", + "0xb3e8": "0x0", + "0xb3ec": "0x0", + "0xb3f0": "0x0", + "0xb3f4": "0x0", + "0xb3f8": "0x0", + "0xb3fc": "0x0", + "0xb400": "0x0", + "0xb404": "0x0", + "0xb408": "0x405", + "0xb40c": "0xb408", + "0xb410": "0x8ec93c09", + "0xb414": "0x40", + "0xb418": "0x41", + "0xb41c": "0x0", + "0xb420": "0x0", + "0xb424": "0x0", + "0xb428": "0x0", + "0xb42c": "0x0", + "0xb430": "0x0", + "0xb434": "0x0", + "0xb438": "0x0", + "0xb43c": "0x0", + "0xb440": "0x0", + "0xb444": "0x0", + "0xb448": "0x405", + "0xb44c": "0xb44c", + "0xb450": "0x3", + "0xb454": "0x24", + "0xb458": "0x25", + "0xb45c": "0x0", + "0xb460": "0x0", + "0xb464": "0x0", + "0xb468": "0x0", + "0xb46c": "0x0", + "0xb470": "0x0", + "0xb474": "0x0", + "0xb478": "0x0", + "0xb47c": "0x0", + "0xb480": "0x0", + "0xb484": "0x0", + "0xb488": "0x405", + "0xb48c": "0xb480", + "0xb490": "0x5", + "0xb494": "0x3e", + "0xb498": "0x3f", + "0xb49c": "0x0" + } + ], + "lt_debug_1": [ + { + "0xa830": "0x0", + "0xa834": "0x0", + "0xa838": "0x0", + "0xa83c": "0x0", + "0xa840": "0x0", + "0xa844": "0x0", + "0xa848": "0x0", + "0xa84c": "0x0", + "0xa850": "0x0", + "0xa854": "0x0", + "0xa858": "0x0", + "0xa85c": "0x8", + "0xa860": "0x0", + "0xa864": "0x0", + "0xa868": "0x0", + "0xa86c": "0x0", + "0xa870": "0x0", + "0xa874": "0x0", + "0xa878": "0x0", + "0xa87c": "0x0", + "0xa880": "0x0", + "0xa884": "0x0", + "0xa888": "0x0", + "0xa88c": "0x0", + "0xa890": "0x0", + "0xa894": "0x0", + "0xa898": "0x0", + "0xa89c": "0x0", + "0xa8a0": "0x0", + "0xa8a4": "0x0", + "0xa8a8": "0x0", + "0xa8ac": "0x0", + "0xa8b0": "0x0", + "0xa8b4": "0x0", + "0xa8b8": "0x0", + "0xa8bc": "0x0", + "0xa8c0": "0x0", + "0xa8c4": "0x0", + "0xa8c8": "0x0", + "0xa8cc": "0x0", + "0xa8d0": "0x0", + "0xa8d4": "0x0", + "0xa8d8": "0x0", + "0xa8dc": "0x0", + "0xa8e0": "0x0", + "0xa8e4": "0x0", + "0xa8e8": "0x0", + "0xa8ec": "0x8", + "0xa8f0": "0x0", + "0xa8f4": "0x0", + "0xa8f8": "0x0", + "0xa8fc": "0x0", + "0xa900": "0x0", + "0xa904": "0x0", + "0xa908": "0x0", + "0xa90c": "0x0", + "0xa910": "0x0", + "0xa914": "0x0", + "0xa918": "0x82", + "0xa91c": "0x0", + "0xa920": "0x0", + "0xa924": "0x80007016", + "0xa928": "0x0", + "0xa92c": "0x0", + "0xa930": "0x0", + "0xa934": "0x0", + "0xa938": "0x0", + "0xa93c": "0x0", + "0xa940": "0x0", + "0xa944": "0x0", + "0xa948": "0x0", + "0xa94c": "0x0", + "0xa950": "0x0", + "0xa954": "0x0", + "0xa958": "0x0", + "0xa95c": "0x0", + "0xa960": "0x0", + "0xa964": "0x0", + "0xa968": "0x0", + "0xa96c": "0x0", + "0xa970": "0x0", + "0xa974": "0x0", + "0xa978": "0x0", + "0xa97c": "0x0", + "0xa980": "0x0", + "0xa984": "0x0", + "0xa988": "0x0", + "0xa98c": "0x0", + "0xa990": "0x0", + "0xa994": "0x0", + "0xa998": "0x0", + "0xa99c": "0x0", + "0xa9a0": "0x0", + "0xa9a4": "0x0", + "0xa9a8": "0x0", + "0xa9ac": "0x0", + "0xa9b0": "0x0", + "0xa9b4": "0x0", + "0xa9b8": "0x0", + "0xa9bc": "0x0", + "0xa9c0": "0x0", + "0xa9c4": "0x0", + "0xa9c8": "0x0", + "0xa9cc": "0x0", + "0xa9d0": "0x0", + "0xa9d4": "0x0", + "0xa9d8": "0x0", + "0xa9dc": "0x0", + "0xa9e0": "0x0", + "0xa9e4": "0x0", + "0xa9e8": "0x0", + "0xa9ec": "0x0", + "0xa9f0": "0x0", + "0xa9f4": "0x0", + "0xa9f8": "0x0", + "0xa9fc": "0x0", + "0xaa00": "0x0", + "0xaa04": "0x0", + "0xaa08": "0x0", + "0xaa0c": "0x0", + "0xaa10": "0x0", + "0xaa14": "0x0", + "0xaa18": "0x0", + "0xaa1c": "0x0", + "0xaa20": "0x0", + "0xaa24": "0x0", + "0xaa28": "0x0", + "0xaa2c": "0x0", + "0xaa30": "0x0", + "0xaa34": "0x0", + "0xaa38": "0x0", + "0xaa3c": "0x0", + "0xaa40": "0x0", + "0xaa44": "0x0", + "0xaa48": "0x0", + "0xaa4c": "0x0", + "0xaa50": "0x0", + "0xaa54": "0x0", + "0xaa58": "0x0", + "0xaa5c": "0x0", + "0xaa60": "0x0" + } + ], + "lt_debug_2": [ + { + "0xa630": "0x0", + "0xa634": "0x0", + "0xa638": "0x0", + "0xa63c": "0x0", + "0xa640": "0x0", + "0xa644": "0x0", + "0xa648": "0x0", + "0xa64c": "0x0", + "0xa650": "0x0", + "0xa654": "0x0", + "0xa658": "0x0", + "0xa65c": "0x0", + "0xa660": "0x0", + "0xa664": "0x0", + "0xa668": "0x0", + "0xa66c": "0x0", + "0xa670": "0x0", + "0xa674": "0x0", + "0xa678": "0x0", + "0xa67c": "0x0", + "0xa680": "0x0", + "0xa684": "0x0", + "0xa688": "0x0", + "0xa68c": "0x0", + "0xa690": "0x0", + "0xa694": "0x0", + "0xa698": "0x0", + "0xa69c": "0x0", + "0xa6a0": "0x0", + "0xa6a4": "0x0", + "0xa6a8": "0x0", + "0xa6ac": "0x0" + } + ] + } + }, + "mac_port_0_0_36.link_down_histogram": { + "rx_link_status_down_count": 0, + "rx_remote_link_status_down_count": 0, + "rx_local_link_status_down_count": 0, + "rx_pcs_link_status_down_count": 0, + "rx_pcs_align_status_down_count": 0, + "rx_pcs_hi_ber_up_count": 0, + "rsf_rx_high_ser_interrupt_register_count": 0, + "rx_deskew_fifo_overflow_count": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "rx_pma_sig_ok_loss_interrupt_register_count": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "bad_rx_link_reset_count": 0, + "bad_rx_pcs_reset_count": 0, + "bad_rx_pcs_since_notification": 0 + }, + "mac_port_0_0_36.link_error_histogram": { + "rx_code_error_count": 0, + "rx_crc_error_count": 0, + "rx_invert_crc_error_count": 0, + "rx_oversize_error_count": 0, + "rx_undersize_error_count": 0, + "tx_crc_error_count": 0, + "tx_underrun_error_count": 0, + "tx_missing_eop_error_count": 0, + "rsf_rx_degraded_ser_count": 0, + "rsf_rx_remote_degraded_ser_count": 0, + "device_time_fifo_not_empty_count": 0, + "device_time_override_count": 0, + "ptp_time_stamp_error_count": 0, + "info_tx_input_buf_count": 0, + "info_rx_input_buf_count": 0, + "bad_rx_pcs_reset_count": 0, + "buffer_error_count": 0 + }, + "mac_port_0_0_36.link_debounce_state": { + "m_link_up_debounce_timer_start": "21-10-2024 11:55:02.000 ", + "m_link_down_debounce_timer_start": "21-10-2024 11:55:02.000 ", + "m_debounce_committed_desc link type": "UP", + "m_debounce_pending_desc link type": "UP", + "m_link_up_debounce_timer_state": "STOPPED", + "m_link_down_debounce_timer_state": "STOPPED", + "MAC_PORT_LINK_DOWN_DEBOUNCE_PERIOD_MILLISECONDS": 0, + "MAC_PORT_LINK_UP_DEBOUNCE_PERIOD_MILLISECONDS": 0 + }, + "mac_port_0_0_36.debug_port_info": { + "m_debug_port_link_flap_usage_counter": 0, + "m_debug_port_tx_ber_usage_counter": 0 + } +} +Port = 24 Slot = 1 cmd = (get_dsc_dump unit 0 port 23 slot 0 subport -1) rc = 0x0 reason = success diff --git a/src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/empty/empty_output_output.txt b/src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/empty/empty_output_output.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output1_expected.py b/src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output1_expected.py new file mode 100644 index 0000000000..c9f7932ce0 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output1_expected.py @@ -0,0 +1,50 @@ +expected_output = { + "job_id": { + 3: { + "status": "JOB_COMPLETED", + "request_info": { + "vrf_name": "default", + "host_name": "yahoo.com", + "dns_server": "72.163.128.140" + }, + "request_time": "Sep 19 20:19:08.462", + "completion_time": "Sep 19 20:19:08.474", + "error_code": "No Error", + "dns_response": { + 1: { + "dns_id": 0, + "dns_flags": "qr-response opcode-query rd ra rcode-noerr", + "dns_qdcnt": 1, + "dns_ancnt": 6, + "dns_nscnt": 0, + "dns_arcnt": 1, + "dns_class": "IN", + "dns_type": "IPv6", + "dns_rtt": "12ms", + "dns_payload_size": 206, + "dns_ip": { + "2001:4998:44:3507::8000": { + "dns_ttl": 0 + }, + "2001:4998:24:120D::1:1": { + "dns_ttl": 0 + }, + "2001:4998:124:1507::F000": { + "dns_ttl": 0 + }, + "2001:4998:124:1507::F001": { + "dns_ttl": 0 + }, + "2001:4998:24:120D::1:0": { + "dns_ttl": 0 + }, + "2001:4998:44:3507::8001": { + "dns_ttl": 0 + } + } + } + } + } + }, + "total_number_of_jobs": 1 +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output1_output.txt b/src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output1_output.txt new file mode 100644 index 0000000000..62a2209d8c --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output1_output.txt @@ -0,0 +1,22 @@ +Job Id: 3 + Status: JOB_COMPLETED + Request Info: + VRF Name: default + Host Name: yahoo.com + DNS Server: 72.163.128.140 + Request-time: *Sep 19 20:19:08.462 Completion-time: *Sep 19 20:19:08.474 + Error Code: No Error + DNS Response: + Id: 0 + Flags: qr-response opcode-query rd ra rcode-noerr + Qdcount: 1 Ancount: 6 Nscount: 0 Arcount: 1 + Class: IN Type: IPv6 RTT: 12ms + Payload Size: 206 + IP: 2001:4998:44:3507::8000 TTL: 0 + IP: 2001:4998:24:120D::1:1 TTL: 0 + IP: 2001:4998:124:1507::F000 TTL: 0 + IP: 2001:4998:124:1507::F001 TTL: 0 + IP: 2001:4998:24:120D::1:0 TTL: 0 + IP: 2001:4998:44:3507::8001 TTL: 0 + + Total number of Jobs:1 \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output2_expected.py b/src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output2_expected.py new file mode 100644 index 0000000000..b2a91a5c55 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output2_expected.py @@ -0,0 +1,95 @@ +expected_output = { + "job_id": { + 4: { + "status": "JOB_COMPLETED", + "request_info": { + "vrf_name": "default", + "host_name": "yahoo.com", + "dns_server": "72.163.128.140" + }, + "request_time": "Sep 19 20:20:33.776", + "completion_time": "Sep 19 20:20:33.785", + "error_code": "No Error", + "dns_response": { + 1: { + "dns_id": 0, + "dns_flags": "qr-response opcode-query rd ra rcode-noerr", + "dns_qdcnt": 1, + "dns_ancnt": 6, + "dns_nscnt": 0, + "dns_arcnt": 1, + "dns_class": "IN", + "dns_type": "IPv4", + "dns_rtt": "9ms", + "dns_payload_size": 134, + "dns_ip": { + "74.6.143.26": { + "dns_ttl": 0 + }, + "74.6.143.25": { + "dns_ttl": 0 + }, + "98.137.11.164": { + "dns_ttl": 0 + }, + "98.137.11.163": { + "dns_ttl": 0 + }, + "74.6.231.20": { + "dns_ttl": 0 + }, + "74.6.231.21": { + "dns_ttl": 0 + } + } + } + } + }, + 5: { + "status": "JOB_COMPLETED", + "request_info": { + "vrf_name": "Mgmt-intf", + "host_name": "yahoo.com", + "dns_server": "72.163.128.140" + }, + "request_time": "Sep 19 20:21:51.972", + "completion_time": "Sep 19 20:21:51.982", + "error_code": "No Error", + "dns_response": { + 1: { + "dns_id": 0, + "dns_flags": "qr-response opcode-query rd ra rcode-noerr", + "dns_qdcnt": 1, + "dns_ancnt": 6, + "dns_nscnt": 0, + "dns_arcnt": 1, + "dns_class": "IN", + "dns_type": "IPv4", + "dns_rtt": "11ms", + "dns_payload_size": 134, + "dns_ip": { + "74.6.143.25": { + "dns_ttl": 0 + }, + "74.6.231.21": { + "dns_ttl": 0 + }, + "98.137.11.163": { + "dns_ttl": 0 + }, + "74.6.143.26": { + "dns_ttl": 0 + }, + "74.6.231.20": { + "dns_ttl": 0 + }, + "98.137.11.164": { + "dns_ttl": 0 + } + } + } + } + } + }, + "total_number_of_jobs": 2 +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output2_output.txt b/src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output2_output.txt new file mode 100644 index 0000000000..b8a602bf99 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output2_output.txt @@ -0,0 +1,44 @@ +Job Id: 4 + Status: JOB_COMPLETED + Request Info: + VRF Name: default + Host Name: yahoo.com + DNS Server: 72.163.128.140 + Request-time: *Sep 19 20:20:33.776 Completion-time: *Sep 19 20:20:33.785 + Error Code: No Error + DNS Response: + Id: 0 + Flags: qr-response opcode-query rd ra rcode-noerr + Qdcount: 1 Ancount: 6 Nscount: 0 Arcount: 1 + Class: IN Type: IPv4 RTT: 9ms + Payload Size: 134 + IP: 74.6.143.26 TTL: 0 + IP: 74.6.143.25 TTL: 0 + IP: 98.137.11.164 TTL: 0 + IP: 98.137.11.163 TTL: 0 + IP: 74.6.231.20 TTL: 0 + IP: 74.6.231.21 TTL: 0 + + +Job Id: 5 + Status: JOB_COMPLETED + Request Info: + VRF Name: Mgmt-intf + Host Name: yahoo.com + DNS Server: 72.163.128.140 + Request-time: *Sep 19 20:21:51.972 Completion-time: *Sep 19 20:21:51.982 + Error Code: No Error + DNS Response: + Id: 0 + Flags: qr-response opcode-query rd ra rcode-noerr + Qdcount: 1 Ancount: 6 Nscount: 0 Arcount: 1 + Class: IN Type: IPv4 RTT: 11ms + Payload Size: 134 + IP: 74.6.143.25 TTL: 0 + IP: 74.6.231.21 TTL: 0 + IP: 98.137.11.163 TTL: 0 + IP: 74.6.143.26 TTL: 0 + IP: 74.6.231.20 TTL: 0 + IP: 98.137.11.164 TTL: 0 + + Total number of Jobs:2 \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output3_arguments.json b/src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output3_arguments.json new file mode 100644 index 0000000000..8d08c3dfc5 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output3_arguments.json @@ -0,0 +1,3 @@ +{ + "hostname": "yahoo.com" +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output3_expected.py b/src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output3_expected.py new file mode 100644 index 0000000000..b2a91a5c55 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output3_expected.py @@ -0,0 +1,95 @@ +expected_output = { + "job_id": { + 4: { + "status": "JOB_COMPLETED", + "request_info": { + "vrf_name": "default", + "host_name": "yahoo.com", + "dns_server": "72.163.128.140" + }, + "request_time": "Sep 19 20:20:33.776", + "completion_time": "Sep 19 20:20:33.785", + "error_code": "No Error", + "dns_response": { + 1: { + "dns_id": 0, + "dns_flags": "qr-response opcode-query rd ra rcode-noerr", + "dns_qdcnt": 1, + "dns_ancnt": 6, + "dns_nscnt": 0, + "dns_arcnt": 1, + "dns_class": "IN", + "dns_type": "IPv4", + "dns_rtt": "9ms", + "dns_payload_size": 134, + "dns_ip": { + "74.6.143.26": { + "dns_ttl": 0 + }, + "74.6.143.25": { + "dns_ttl": 0 + }, + "98.137.11.164": { + "dns_ttl": 0 + }, + "98.137.11.163": { + "dns_ttl": 0 + }, + "74.6.231.20": { + "dns_ttl": 0 + }, + "74.6.231.21": { + "dns_ttl": 0 + } + } + } + } + }, + 5: { + "status": "JOB_COMPLETED", + "request_info": { + "vrf_name": "Mgmt-intf", + "host_name": "yahoo.com", + "dns_server": "72.163.128.140" + }, + "request_time": "Sep 19 20:21:51.972", + "completion_time": "Sep 19 20:21:51.982", + "error_code": "No Error", + "dns_response": { + 1: { + "dns_id": 0, + "dns_flags": "qr-response opcode-query rd ra rcode-noerr", + "dns_qdcnt": 1, + "dns_ancnt": 6, + "dns_nscnt": 0, + "dns_arcnt": 1, + "dns_class": "IN", + "dns_type": "IPv4", + "dns_rtt": "11ms", + "dns_payload_size": 134, + "dns_ip": { + "74.6.143.25": { + "dns_ttl": 0 + }, + "74.6.231.21": { + "dns_ttl": 0 + }, + "98.137.11.163": { + "dns_ttl": 0 + }, + "74.6.143.26": { + "dns_ttl": 0 + }, + "74.6.231.20": { + "dns_ttl": 0 + }, + "98.137.11.164": { + "dns_ttl": 0 + } + } + } + } + } + }, + "total_number_of_jobs": 2 +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output3_output.txt b/src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output3_output.txt new file mode 100644 index 0000000000..349e4a0bc5 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output3_output.txt @@ -0,0 +1,42 @@ +Job Id: 4 + Status: JOB_COMPLETED + Request Info: + VRF Name: default + Host Name: yahoo.com + DNS Server: 72.163.128.140 + Request-time: *Sep 19 20:20:33.776 Completion-time: *Sep 19 20:20:33.785 + Error Code: No Error + DNS Response: + Id: 0 + Flags: qr-response opcode-query rd ra rcode-noerr + Qdcount: 1 Ancount: 6 Nscount: 0 Arcount: 1 + Class: IN Type: IPv4 RTT: 9ms + Payload Size: 134 + IP: 74.6.143.26 TTL: 0 + IP: 74.6.143.25 TTL: 0 + IP: 98.137.11.164 TTL: 0 + IP: 98.137.11.163 TTL: 0 + IP: 74.6.231.20 TTL: 0 + IP: 74.6.231.21 TTL: 0 + + +Job Id: 5 + Status: JOB_COMPLETED + Request Info: + VRF Name: Mgmt-intf + Host Name: yahoo.com + DNS Server: 72.163.128.140 + Request-time: *Sep 19 20:21:51.972 Completion-time: *Sep 19 20:21:51.982 + Error Code: No Error + DNS Response: + Id: 0 + Flags: qr-response opcode-query rd ra rcode-noerr + Qdcount: 1 Ancount: 6 Nscount: 0 Arcount: 1 + Class: IN Type: IPv4 RTT: 11ms + Payload Size: 134 + IP: 74.6.143.25 TTL: 0 + IP: 74.6.231.21 TTL: 0 + IP: 98.137.11.163 TTL: 0 + IP: 74.6.143.26 TTL: 0 + IP: 74.6.231.20 TTL: 0 + IP: 98.137.11.164 TTL: 0 \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output4_expected.py b/src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output4_expected.py new file mode 100644 index 0000000000..1afc0d59d5 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output4_expected.py @@ -0,0 +1,16 @@ +expected_output = { + "job_id": { + 1: { + "status": "JOB_COMPLETED", + "request_info": { + "vrf_name": "default", + "host_name": "test.com", + "dns_server": "1.1.1.1" + }, + "request_time": "Nov 8 05:45:44.447", + "completion_time": "Nov 8 05:45:50.466", + "error_code": "Lookup Timeout", + }, + }, + "total_number_of_jobs": 1 +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output4_output.txt b/src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output4_output.txt new file mode 100644 index 0000000000..b3c5f88d54 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowDnsLookup/cli/equal/golden_output4_output.txt @@ -0,0 +1,10 @@ +Job Id: 1 + Status: JOB_COMPLETED + Request Info: + VRF Name: default + Host Name: test.com + DNS Server: 1.1.1.1 + Request-time: *Nov 8 05:45:44.447 Completion-time: *Nov 8 05:45:50.466 + Error Code: Lookup Timeout + +Total number of Jobs:1 \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowIpIgmpSnoopingGroups/cli/equal/golden_output_4_expected.py b/src/genie/libs/parser/iosxe/tests/ShowIpIgmpSnoopingGroups/cli/equal/golden_output_4_expected.py new file mode 100644 index 0000000000..5e6145b50c --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowIpIgmpSnoopingGroups/cli/equal/golden_output_4_expected.py @@ -0,0 +1,15 @@ +expected_output = { + 'igmp_groups': { + '224.0.1.40': { + 'port': 'Po92', + 'type': 'I', + 'version': 'v2', + 'vlan_id': '12' + }, + '225.0.0.1': { + 'port': 'Po92', + 'type': 'S', + 'vlan_id': '12' + } + } +} diff --git a/src/genie/libs/parser/iosxe/tests/ShowIpIgmpSnoopingGroups/cli/equal/golden_output_4_output.txt b/src/genie/libs/parser/iosxe/tests/ShowIpIgmpSnoopingGroups/cli/equal/golden_output_4_output.txt new file mode 100644 index 0000000000..5fcae16cb4 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowIpIgmpSnoopingGroups/cli/equal/golden_output_4_output.txt @@ -0,0 +1,6 @@ +Flags: I -- IGMP snooping, S -- Static, E -- EVPN sync + +Vlan Group Type Version Port List +----------------------------------------------------------------------- +12 225.0.0.1 S Po92 +12 224.0.1.40 I v2 Po92 \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowIpNbarVersion/cli/equal/golden_output_3_expected.py b/src/genie/libs/parser/iosxe/tests/ShowIpNbarVersion/cli/equal/golden_output_3_expected.py new file mode 100644 index 0000000000..9113789872 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowIpNbarVersion/cli/equal/golden_output_3_expected.py @@ -0,0 +1,26 @@ +expected_output = { + "nbar_software_version": "46", + "nbar_minimum_backward_compatible_version": "46", + "loaded_protocol_packs": { + "Advanced Protocol Pack": { + "version": { + "61.0": { + "publisher": "Cisco Systems Inc.", + "nbar_engine_version": "46", + "state": "Active" + } + } + }, + "Secondary Protocol Pack": { + "version": { + "00a72483da585b7aed3327475c8f00": { + "publisher": "SD-AVC", + "nbar_engine_version": "1001", + "creation_time": "Wed Nov 6 13:07:53 UTC 2024", + "file": "flash:/sdavc/PPDK_AppRecognition_00a72483da585b7aed3327475c8f00.pack", + "state": "Active" + } + } + } + } +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowIpNbarVersion/cli/equal/golden_output_3_output.txt b/src/genie/libs/parser/iosxe/tests/ShowIpNbarVersion/cli/equal/golden_output_3_output.txt new file mode 100644 index 0000000000..057bf03161 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowIpNbarVersion/cli/equal/golden_output_3_output.txt @@ -0,0 +1,19 @@ +NBAR software version: 46 +NBAR minimum backward compatible version: 46 +NBAR change ID: BLD_NBAR_XE179_20220909_122543 + +Loaded Protocol Pack(s): + Name: Advanced Protocol Pack + Version: 61.0 + Publisher: Cisco Systems Inc. + NBAR Engine Version: 46 + State: Active + + Name: Secondary Protocol Pack + Version: 00a72483da585b7aed3327475c8f00 + Publisher: SD-AVC + NBAR Engine Version: 1001 + Creation time: Wed Nov 6 13:07:53 UTC 2024 + NBAR PP level: 1 + File: flash:/sdavc/PPDK_AppRecognition_00a72483da585b7aed3327475c8f00.pack + State: Active diff --git a/src/genie/libs/parser/iosxe/tests/ShowLispDatabaseConfigPropV4Parser/cli/equal/golden_output6_arguments.json b/src/genie/libs/parser/iosxe/tests/ShowLispDatabaseConfigPropV4Parser/cli/equal/golden_output6_arguments.json new file mode 100644 index 0000000000..abf7886b81 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowLispDatabaseConfigPropV4Parser/cli/equal/golden_output6_arguments.json @@ -0,0 +1,3 @@ +{ + "instance_id": "5000" +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowLispDatabaseConfigPropV4Parser/cli/equal/golden_output6_expected.py b/src/genie/libs/parser/iosxe/tests/ShowLispDatabaseConfigPropV4Parser/cli/equal/golden_output6_expected.py new file mode 100644 index 0000000000..3172a5c3af --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowLispDatabaseConfigPropV4Parser/cli/equal/golden_output6_expected.py @@ -0,0 +1,151 @@ +expected_output= { + "lisp_id":{ + 0:{ + "instance_id":{ + 5000:{ + "eid_table":"vrf internet", + "lsb":"0x1", + "entries":7, + "no_route":0, + "inactive":0, + "do_not_register":0, + "eid_prefix":{ + "51.51.0.0/16":{ + "eid":"51.51.0.0", + "mask":"16", + "import_from":"publication cfg prop", + "inherited_from":"default locator-set DEFAULT-ETR-RLOC", + "proxy": True, + "up_time":"00:06:40", + "last_change":"00:06:40", + "service_insertion":"N/A", + "extranet_iid":5000, + "locators":{ + "2001:100:120:120::120":{ + "priority":10, + "weight":50, + "source":"cfg-intf", + "state":"site-self, reachable" + } + } + }, + "88.88.0.0/16":{ + "eid":"88.88.0.0", + "mask":"16", + "import_from":"publication", + "inherited_from":"default locator-set DEFAULT-ETR-RLOC", + "proxy": True, + "up_time":"00:01:35", + "last_change":"00:01:35", + "service_insertion":"N/A", + "extranet_iid":5000, + "locators":{ + "2001:100:120:120::120":{ + "priority":10, + "weight":50, + "source":"cfg-intf", + "state":"site-self, reachable" + } + } + }, + "172.168.0.0/16":{ + "eid":"172.168.0.0", + "mask":"16", + "import_from":"publication cfg prop", + "inherited_from":"default locator-set DEFAULT-ETR-RLOC", + "proxy": True, + "up_time":"00:06:40", + "last_change":"00:06:40", + "service_insertion":"N/A", + "extranet_iid":4100, + "locators":{ + "2001:100:120:120::120":{ + "priority":10, + "weight":50, + "source":"cfg-intf", + "state":"site-self, reachable" + } + } + }, + "173.168.0.0/16":{ + "eid":"173.168.0.0", + "mask":"16", + "import_from":"publication cfg prop", + "inherited_from":"default locator-set DEFAULT-ETR-RLOC", + "proxy": True, + "up_time":"00:06:40", + "last_change":"00:06:40", + "service_insertion":"N/A", + "extranet_iid":4101, + "locators":{ + "2001:100:120:120::120":{ + "priority":10, + "weight":50, + "source":"cfg-intf", + "state":"site-self, reachable" + } + } + }, + "182.168.0.0/16":{ + "eid":"182.168.0.0", + "mask":"16", + "import_from":"publication cfg prop", + "inherited_from":"default locator-set DEFAULT-ETR-RLOC", + "proxy": True, + "up_time":"00:06:40", + "last_change":"00:06:40", + "service_insertion":"N/A", + "extranet_iid":4100, + "locators":{ + "2001:100:120:120::120":{ + "priority":10, + "weight":50, + "source":"cfg-intf", + "state":"site-self, reachable" + } + } + }, + "192.168.0.0/16":{ + "eid":"192.168.0.0", + "mask":"16", + "import_from":"publication cfg prop", + "inherited_from":"default locator-set DEFAULT-ETR-RLOC", + "proxy": True, + "up_time":"00:06:40", + "last_change":"00:06:40", + "service_insertion":"N/A", + "extranet_iid":4100, + "locators":{ + "2001:100:120:120::120":{ + "priority":10, + "weight":50, + "source":"cfg-intf", + "state":"site-self, reachable" + } + } + }, + "193.168.0.0/16":{ + "eid":"193.168.0.0", + "mask":"16", + "import_from":"publication cfg prop", + "inherited_from":"default locator-set DEFAULT-ETR-RLOC", + "proxy": True, + "up_time":"00:06:40", + "last_change":"00:06:40", + "service_insertion":"N/A", + "extranet_iid":4101, + "locators":{ + "2001:100:120:120::120":{ + "priority":10, + "weight":50, + "source":"cfg-intf", + "state":"site-self, reachable" + } + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowLispDatabaseConfigPropV4Parser/cli/equal/golden_output6_output.txt b/src/genie/libs/parser/iosxe/tests/ShowLispDatabaseConfigPropV4Parser/cli/equal/golden_output6_output.txt new file mode 100644 index 0000000000..054a789040 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowLispDatabaseConfigPropV4Parser/cli/equal/golden_output6_output.txt @@ -0,0 +1,45 @@ +LISP ETR IPv4 Mapping Database for LISP 0 EID-table vrf internet (IID 5000), LSBs: 0x1 +Entries total 7, no-route 0, inactive 0, do-not-register 0 + +51.51.0.0/16, import from publication cfg prop, inherited from default locator-set DEFAULT-ETR-RLOC, proxy + Uptime: 00:06:40, Last-change: 00:06:40 + Service-Insertion: N/A + Extranet-IID: 5000 (Sourced by Config Propagation) + Locator Pri/Wgt Source State + 2001:100:120:120::120 10/50 cfg-intf site-self, reachable +88.88.0.0/16, import from publication, inherited from default locator-set DEFAULT-ETR-RLOC, proxy + Uptime: 00:01:35, Last-change: 00:01:35 + Service-Insertion: N/A + Extranet-IID: 5000 (Sourced by Config Propagation) + Locator Pri/Wgt Source State + 2001:100:120:120::120 10/50 cfg-intf site-self, reachable +172.168.0.0/16, import from publication cfg prop, inherited from default locator-set DEFAULT-ETR-RLOC, proxy + Uptime: 00:06:40, Last-change: 00:06:40 + Service-Insertion: N/A + Extranet-IID: 4100 (Sourced by Config Propagation) + Locator Pri/Wgt Source State + 2001:100:120:120::120 10/50 cfg-intf site-self, reachable +173.168.0.0/16, import from publication cfg prop, inherited from default locator-set DEFAULT-ETR-RLOC, proxy + Uptime: 00:06:40, Last-change: 00:06:40 + Service-Insertion: N/A + Extranet-IID: 4101 (Sourced by Config Propagation) + Locator Pri/Wgt Source State + 2001:100:120:120::120 10/50 cfg-intf site-self, reachable +182.168.0.0/16, import from publication cfg prop, inherited from default locator-set DEFAULT-ETR-RLOC, proxy + Uptime: 00:06:40, Last-change: 00:06:40 + Service-Insertion: N/A + Extranet-IID: 4100 (Sourced by Config Propagation) + Locator Pri/Wgt Source State + 2001:100:120:120::120 10/50 cfg-intf site-self, reachable +192.168.0.0/16, import from publication cfg prop, inherited from default locator-set DEFAULT-ETR-RLOC, proxy + Uptime: 00:06:40, Last-change: 00:06:40 + Service-Insertion: N/A + Extranet-IID: 4100 (Sourced by Config Propagation) + Locator Pri/Wgt Source State + 2001:100:120:120::120 10/50 cfg-intf site-self, reachable +193.168.0.0/16, import from publication cfg prop, inherited from default locator-set DEFAULT-ETR-RLOC, proxy + Uptime: 00:06:40, Last-change: 00:06:40 + Service-Insertion: N/A + Extranet-IID: 4101 (Sourced by Config Propagation) + Locator Pri/Wgt Source State + 2001:100:120:120::120 10/50 cfg-intf site-self, reachable \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowLispDatabaseConfigPropV6Parser/cli/equal/golden_output5_arguments.json b/src/genie/libs/parser/iosxe/tests/ShowLispDatabaseConfigPropV6Parser/cli/equal/golden_output5_arguments.json new file mode 100644 index 0000000000..abf7886b81 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowLispDatabaseConfigPropV6Parser/cli/equal/golden_output5_arguments.json @@ -0,0 +1,3 @@ +{ + "instance_id": "5000" +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowLispDatabaseConfigPropV6Parser/cli/equal/golden_output5_expected.py b/src/genie/libs/parser/iosxe/tests/ShowLispDatabaseConfigPropV6Parser/cli/equal/golden_output5_expected.py new file mode 100644 index 0000000000..372ac1d7a0 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowLispDatabaseConfigPropV6Parser/cli/equal/golden_output5_expected.py @@ -0,0 +1,151 @@ +expected_output= { + "lisp_id":{ + 0:{ + "instance_id":{ + 5000:{ + "eid_table":"vrf internet", + "lsb":"0x1", + "entries":7, + "no_route":0, + "inactive":0, + "do_not_register":0, + "eid_prefix":{ + "2001:51:51:1::/64":{ + "eid":"2001:51:51:1::", + "mask":"64", + "import_from":"publication cfg prop", + "inherited_from":"default locator-set DEFAULT-ETR-RLOC", + "proxy": True, + "up_time":"00:06:40", + "last_change":"00:06:40", + "service_insertion":"N/A", + "extranet_iid":5000, + "locators":{ + "2001:100:120:120::120":{ + "priority":10, + "weight":50, + "source":"cfg-intf", + "state":"site-self, reachable" + } + } + }, + "2001:88:88:1::/64":{ + "eid":"2001:88:88:1::", + "mask":"64", + "import_from":"publication", + "inherited_from":"default locator-set DEFAULT-ETR-RLOC", + "proxy": True, + "up_time":"00:01:35", + "last_change":"00:01:35", + "service_insertion":"N/A", + "extranet_iid":5000, + "locators":{ + "2001:100:120:120::120":{ + "priority":10, + "weight":50, + "source":"cfg-intf", + "state":"site-self, reachable" + } + } + }, + "2001:172:168:1::/64":{ + "eid":"2001:172:168:1::", + "mask":"64", + "import_from":"publication cfg prop", + "inherited_from":"default locator-set DEFAULT-ETR-RLOC", + "proxy": True, + "up_time":"00:06:40", + "last_change":"00:06:40", + "service_insertion":"N/A", + "extranet_iid":4100, + "locators":{ + "2001:100:120:120::120":{ + "priority":10, + "weight":50, + "source":"cfg-intf", + "state":"site-self, reachable" + } + } + }, + "2001:173:168:1::/64":{ + "eid":"2001:173:168:1::", + "mask":"64", + "import_from":"publication cfg prop", + "inherited_from":"default locator-set DEFAULT-ETR-RLOC", + "proxy": True, + "up_time":"00:06:40", + "last_change":"00:06:40", + "service_insertion":"N/A", + "extranet_iid":4101, + "locators":{ + "2001:100:120:120::120":{ + "priority":10, + "weight":50, + "source":"cfg-intf", + "state":"site-self, reachable" + } + } + }, + "2001:182:168:1::/64":{ + "eid":"2001:182:168:1::", + "mask":"64", + "import_from":"publication cfg prop", + "inherited_from":"default locator-set DEFAULT-ETR-RLOC", + "proxy": True, + "up_time":"00:06:40", + "last_change":"00:06:40", + "service_insertion":"N/A", + "extranet_iid":4100, + "locators":{ + "2001:100:120:120::120":{ + "priority":10, + "weight":50, + "source":"cfg-intf", + "state":"site-self, reachable" + } + } + }, + "2001:192:168:1::/64":{ + "eid":"2001:192:168:1::", + "mask":"64", + "import_from":"publication cfg prop", + "inherited_from":"default locator-set DEFAULT-ETR-RLOC", + "proxy": True, + "up_time":"00:06:40", + "last_change":"00:06:40", + "service_insertion":"N/A", + "extranet_iid":4100, + "locators":{ + "2001:100:120:120::120":{ + "priority":10, + "weight":50, + "source":"cfg-intf", + "state":"site-self, reachable" + } + } + }, + "2001:193:168:1::/64":{ + "eid":"2001:193:168:1::", + "mask":"64", + "import_from":"publication cfg prop", + "inherited_from":"default locator-set DEFAULT-ETR-RLOC", + "proxy": True, + "up_time":"00:06:40", + "last_change":"00:06:40", + "service_insertion":"N/A", + "extranet_iid":4101, + "locators":{ + "2001:100:120:120::120":{ + "priority":10, + "weight":50, + "source":"cfg-intf", + "state":"site-self, reachable" + } + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowLispDatabaseConfigPropV6Parser/cli/equal/golden_output5_output.txt b/src/genie/libs/parser/iosxe/tests/ShowLispDatabaseConfigPropV6Parser/cli/equal/golden_output5_output.txt new file mode 100644 index 0000000000..e3cd847416 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowLispDatabaseConfigPropV6Parser/cli/equal/golden_output5_output.txt @@ -0,0 +1,45 @@ +LISP ETR IPv4 Mapping Database for LISP 0 EID-table vrf internet (IID 5000), LSBs: 0x1 +Entries total 7, no-route 0, inactive 0, do-not-register 0 + +2001:51:51:1::/64, import from publication cfg prop, inherited from default locator-set DEFAULT-ETR-RLOC, proxy + Uptime: 00:06:40, Last-change: 00:06:40 + Service-Insertion: N/A + Extranet-IID: 5000 (Sourced by Config Propagation) + Locator Pri/Wgt Source State + 2001:100:120:120::120 10/50 cfg-intf site-self, reachable +2001:88:88:1::/64, import from publication, inherited from default locator-set DEFAULT-ETR-RLOC, proxy + Uptime: 00:01:35, Last-change: 00:01:35 + Service-Insertion: N/A + Extranet-IID: 5000 (Sourced by Config Propagation) + Locator Pri/Wgt Source State + 2001:100:120:120::120 10/50 cfg-intf site-self, reachable +2001:172:168:1::/64, import from publication cfg prop, inherited from default locator-set DEFAULT-ETR-RLOC, proxy + Uptime: 00:06:40, Last-change: 00:06:40 + Service-Insertion: N/A + Extranet-IID: 4100 (Sourced by Config Propagation) + Locator Pri/Wgt Source State + 2001:100:120:120::120 10/50 cfg-intf site-self, reachable +2001:173:168:1::/64, import from publication cfg prop, inherited from default locator-set DEFAULT-ETR-RLOC, proxy + Uptime: 00:06:40, Last-change: 00:06:40 + Service-Insertion: N/A + Extranet-IID: 4101 (Sourced by Config Propagation) + Locator Pri/Wgt Source State + 2001:100:120:120::120 10/50 cfg-intf site-self, reachable +2001:182:168:1::/64, import from publication cfg prop, inherited from default locator-set DEFAULT-ETR-RLOC, proxy + Uptime: 00:06:40, Last-change: 00:06:40 + Service-Insertion: N/A + Extranet-IID: 4100 (Sourced by Config Propagation) + Locator Pri/Wgt Source State + 2001:100:120:120::120 10/50 cfg-intf site-self, reachable +2001:192:168:1::/64, import from publication cfg prop, inherited from default locator-set DEFAULT-ETR-RLOC, proxy + Uptime: 00:06:40, Last-change: 00:06:40 + Service-Insertion: N/A + Extranet-IID: 4100 (Sourced by Config Propagation) + Locator Pri/Wgt Source State + 2001:100:120:120::120 10/50 cfg-intf site-self, reachable +2001:193:168:1::/64, import from publication cfg prop, inherited from default locator-set DEFAULT-ETR-RLOC, proxy + Uptime: 00:06:40, Last-change: 00:06:40 + Service-Insertion: N/A + Extranet-IID: 4101 (Sourced by Config Propagation) + Locator Pri/Wgt Source State + 2001:100:120:120::120 10/50 cfg-intf site-self, reachable \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowLispExtranet/cli/equal/golden_output4_arguments.json b/src/genie/libs/parser/iosxe/tests/ShowLispExtranet/cli/equal/golden_output4_arguments.json new file mode 100644 index 0000000000..cb8fca73f4 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowLispExtranet/cli/equal/golden_output4_arguments.json @@ -0,0 +1,5 @@ +{ + "lisp_id": "all", + "extranet_name": "ext1", + "instance_id": "1" +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowLispExtranet/cli/equal/golden_output4_expected.py b/src/genie/libs/parser/iosxe/tests/ShowLispExtranet/cli/equal/golden_output4_expected.py new file mode 100644 index 0000000000..8b79d536c1 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowLispExtranet/cli/equal/golden_output4_expected.py @@ -0,0 +1,5 @@ +expected_output = { + "lisp_id": { + 0: {} + } +} diff --git a/src/genie/libs/parser/iosxe/tests/ShowLispExtranet/cli/equal/golden_output4_output.txt b/src/genie/libs/parser/iosxe/tests/ShowLispExtranet/cli/equal/golden_output4_output.txt new file mode 100644 index 0000000000..2385dc6e7f --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowLispExtranet/cli/equal/golden_output4_output.txt @@ -0,0 +1,4 @@ +================================================ +Output for router lisp 0 +================================================ +% Extranet table ext1 not found. \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedSwitchActiveNpuSlotPortRecreate/cli/empty/empty_output_arguments.json b/src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedSwitchActiveNpuSlotPortRecreate/cli/empty/empty_output_arguments.json new file mode 100644 index 0000000000..5bc98d2df8 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedSwitchActiveNpuSlotPortRecreate/cli/empty/empty_output_arguments.json @@ -0,0 +1,4 @@ +{ + "mode" : "active", + "port_num" : 40 +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedSwitchActiveNpuSlotPortRecreate/cli/empty/empty_output_output.txt b/src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedSwitchActiveNpuSlotPortRecreate/cli/empty/empty_output_output.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedSwitchActiveNpuSlotPortRecreate/cli/equal/golden_output_arguments.json b/src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedSwitchActiveNpuSlotPortRecreate/cli/equal/golden_output_arguments.json new file mode 100644 index 0000000000..5bc98d2df8 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedSwitchActiveNpuSlotPortRecreate/cli/equal/golden_output_arguments.json @@ -0,0 +1,4 @@ +{ + "mode" : "active", + "port_num" : 40 +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedSwitchActiveNpuSlotPortRecreate/cli/equal/golden_output_expected.py b/src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedSwitchActiveNpuSlotPortRecreate/cli/equal/golden_output_expected.py new file mode 100644 index 0000000000..7f26a5bf55 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedSwitchActiveNpuSlotPortRecreate/cli/equal/golden_output_expected.py @@ -0,0 +1,7 @@ +expected_output = { + 'operations': { + 'create': '1/80', + 'delete': '1/80' + }, + 'port': '1/80' +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedSwitchActiveNpuSlotPortRecreate/cli/equal/golden_output_output.txt b/src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedSwitchActiveNpuSlotPortRecreate/cli/equal/golden_output_output.txt new file mode 100644 index 0000000000..87f53d66fd --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedSwitchActiveNpuSlotPortRecreate/cli/equal/golden_output_output.txt @@ -0,0 +1,6 @@ +show platform hardware fed switch active npu slot 1 port 80 port-recreate +----------- Triggering port recreate------------ + + Deleting port 1/80 + + creating port 1/80 \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedXcvrRegisters/cli/empty/empty_output_arguments.json b/src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedXcvrRegisters/cli/empty/empty_output_arguments.json new file mode 100644 index 0000000000..84f3ad3671 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedXcvrRegisters/cli/empty/empty_output_arguments.json @@ -0,0 +1,10 @@ +{ + "mode" : "active", + "local_port" : 9, + "phy" : 1, + "mode_1" : 1, + "device_num" : 2, + "page_number": 2, + "register" : 2, + "byte" : 2 +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedXcvrRegisters/cli/empty/empty_output_output.txt b/src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedXcvrRegisters/cli/empty/empty_output_output.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedXcvrRegisters/cli/equal/golden_output_arguments.json b/src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedXcvrRegisters/cli/equal/golden_output_arguments.json new file mode 100644 index 0000000000..84f3ad3671 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedXcvrRegisters/cli/equal/golden_output_arguments.json @@ -0,0 +1,10 @@ +{ + "mode" : "active", + "local_port" : 9, + "phy" : 1, + "mode_1" : 1, + "device_num" : 2, + "page_number": 2, + "register" : 2, + "byte" : 2 +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedXcvrRegisters/cli/equal/golden_output_expected.py b/src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedXcvrRegisters/cli/equal/golden_output_expected.py new file mode 100644 index 0000000000..896e08bedf --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedXcvrRegisters/cli/equal/golden_output_expected.py @@ -0,0 +1,4 @@ +expected_output={ + 'phy_reg_value_dec': 34817, + 'phy_reg_value_hex': '8801' +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedXcvrRegisters/cli/equal/golden_output_output.txt b/src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedXcvrRegisters/cli/equal/golden_output_output.txt new file mode 100644 index 0000000000..181641917c --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformHardwareFedXcvrRegisters/cli/equal/golden_output_output.txt @@ -0,0 +1,2 @@ +Phy Reg Value(Hex): 8801 + (Dec): 34817 \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmCountersInterfaceIsis/cli/equal/golden_output_2_arguments.json b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmCountersInterfaceIsis/cli/equal/golden_output_2_arguments.json new file mode 100644 index 0000000000..0a17ff859c --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmCountersInterfaceIsis/cli/equal/golden_output_2_arguments.json @@ -0,0 +1,4 @@ +{ + "mode" : "active", + "mode2": "active" +} diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmCountersInterfaceIsis/cli/equal/golden_output_2_expected.py b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmCountersInterfaceIsis/cli/equal/golden_output_2_expected.py new file mode 100644 index 0000000000..660791689f --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmCountersInterfaceIsis/cli/equal/golden_output_2_expected.py @@ -0,0 +1,67 @@ +expected_output = { + "traffic_detail":{ + "Port-channel241":{ + "tx":0, + "rx":0, + "tx_drop":0, + "rx_drop":0 + }, + "Port-channel242":{ + "tx":0, + "rx":0, + "tx_drop":0, + "rx_drop":0 + } + }, + "timestamp_now":"Sep 11 10:38:15.253", + "interface":{ + "Port-channel241":{ + "isis_rx_timestamp":{ + "timestamp":{ + 0:"Jan 01 00:00:00.000", + 1:"Jan 01 00:00:00.000", + 2:"Jan 01 00:00:00.000", + 3:"Jan 01 00:00:00.000", + 4:"Jan 01 00:00:00.000" + }, + "rx_max_time_gap":"0 sec, 0 usec", + "rx_max_timestamp":"Jan 01 00:00:00.000" + }, + "isis_tx_timestamp":{ + "timestamp":{ + 0:"Jan 01 00:00:00.000", + 1:"Jan 01 00:00:00.000", + 2:"Jan 01 00:00:00.000", + 3:"Jan 01 00:00:00.000", + 4:"Jan 01 00:00:00.000" + }, + "tx_max_time_gap":"0 sec, 0 usec", + "tx_max_timestamp":"Jan 01 00:00:00.000" + } + }, + "Port-channel242":{ + "isis_rx_timestamp":{ + "timestamp":{ + 0:"Jan 01 00:00:00.000", + 1:"Jan 01 00:00:00.000", + 2:"Jan 01 00:00:00.000", + 3:"Jan 01 00:00:00.000", + 4:"Jan 01 00:00:00.000" + }, + "rx_max_time_gap":"0 sec, 0 usec", + "rx_max_timestamp":"Jan 01 00:00:00.000" + }, + "isis_tx_timestamp":{ + "timestamp":{ + 0:"Jan 01 00:00:00.000", + 1:"Jan 01 00:00:00.000", + 2:"Jan 01 00:00:00.000", + 3:"Jan 01 00:00:00.000", + 4:"Jan 01 00:00:00.000" + }, + "tx_max_time_gap":"0 sec, 0 usec", + "tx_max_timestamp":"Jan 01 00:00:00.000" + } + } + } +} diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmCountersInterfaceIsis/cli/equal/golden_output_2_output.txt b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmCountersInterfaceIsis/cli/equal/golden_output_2_output.txt new file mode 100644 index 0000000000..c38e71c3b4 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmCountersInterfaceIsis/cli/equal/golden_output_2_output.txt @@ -0,0 +1,41 @@ + TX RX TX-DROP RX-DROP +Port-channel241 [0] + 0 0 0 0 + +Port-channel242 [1] + 0 0 0 0 + + +Timestamp Now: Sep 11 10:38:15.253 + +Port-channel241 [0] +ISIS RX Timestamp: Jan 01 00:00:00.000 [0] +ISIS RX Timestamp: Jan 01 00:00:00.000 [1] +ISIS RX Timestamp: Jan 01 00:00:00.000 [2] +ISIS RX Timestamp: Jan 01 00:00:00.000 [3] +ISIS RX Timestamp: Jan 01 00:00:00.000 [4] +ISIS RX Maximum Time Gap: 0 sec, 0 usec +ISIS RX Maximum Gap Timestamp: Jan 01 00:00:00.000 +ISIS TX Timestamp: Jan 01 00:00:00.000 [0] +ISIS TX Timestamp: Jan 01 00:00:00.000 [1] +ISIS TX Timestamp: Jan 01 00:00:00.000 [2] +ISIS TX Timestamp: Jan 01 00:00:00.000 [3] +ISIS TX Timestamp: Jan 01 00:00:00.000 [4] +ISIS TX Maximum Time Gap: 0 sec, 0 usec +ISIS TX Maximum Gap Timestamp: Jan 01 00:00:00.000 + +Port-channel242 [1] +ISIS RX Timestamp: Jan 01 00:00:00.000 [0] +ISIS RX Timestamp: Jan 01 00:00:00.000 [1] +ISIS RX Timestamp: Jan 01 00:00:00.000 [2] +ISIS RX Timestamp: Jan 01 00:00:00.000 [3] +ISIS RX Timestamp: Jan 01 00:00:00.000 [4] +ISIS RX Maximum Time Gap: 0 sec, 0 usec +ISIS RX Maximum Gap Timestamp: Jan 01 00:00:00.000 +ISIS TX Timestamp: Jan 01 00:00:00.000 [0] +ISIS TX Timestamp: Jan 01 00:00:00.000 [1] +ISIS TX Timestamp: Jan 01 00:00:00.000 [2] +ISIS TX Timestamp: Jan 01 00:00:00.000 [3] +ISIS TX Timestamp: Jan 01 00:00:00.000 [4] +ISIS TX Maximum Time Gap: 0 sec, 0 usec +ISIS TX Maximum Gap Timestamp: Jan 01 00:00:00.000 diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchActiveB0CountersInterfaceLacp/cli/equal/golden_output_2_arguments.json b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchActiveB0CountersInterfaceLacp/cli/equal/golden_output_2_arguments.json new file mode 100644 index 0000000000..78b0cf4f28 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchActiveB0CountersInterfaceLacp/cli/equal/golden_output_2_arguments.json @@ -0,0 +1,4 @@ +{ + "mode" : "active", + "mode2" : "active" +} diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchActiveB0CountersInterfaceLacp/cli/equal/golden_output_2_expected.py b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchActiveB0CountersInterfaceLacp/cli/equal/golden_output_2_expected.py new file mode 100644 index 0000000000..090bbecdde --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchActiveB0CountersInterfaceLacp/cli/equal/golden_output_2_expected.py @@ -0,0 +1,52 @@ +expected_output = { + "HundredGigE1/0/25":{ + "tx":0, + "rx":0, + "tx_drop":0, + "rx_drop":0 + }, + "HundredGigE1/0/26":{ + "tx":0, + "rx":0, + "tx_drop":0, + "rx_drop":0 + }, + "HundredGigE1/0/27":{ + "tx":0, + "rx":0, + "tx_drop":0, + "rx_drop":0 + }, + "HundredGigE1/0/28":{ + "tx":0, + "rx":0, + "tx_drop":0, + "rx_drop":0 + }, + "HundredGigE1/0/29":{ + "tx":0, + "rx":0, + "tx_drop":0, + "rx_drop":0 + }, + "HundredGigE1/0/30":{ + "tx":0, + "rx":0, + "tx_drop":0, + "rx_drop":0 + }, + "HundredGigE1/0/31":{ + "tx":0, + "rx":0, + "tx_drop":0, + "rx_drop":0 + }, + "HundredGigE1/0/32":{ + "tx":0, + "rx":0, + "tx_drop":0, + "rx_drop":0 + } +} + + diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchActiveB0CountersInterfaceLacp/cli/equal/golden_output_2_output.txt b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchActiveB0CountersInterfaceLacp/cli/equal/golden_output_2_output.txt new file mode 100644 index 0000000000..402e65c7ae --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchActiveB0CountersInterfaceLacp/cli/equal/golden_output_2_output.txt @@ -0,0 +1,24 @@ + TX RX TX-DROP RX-DROP +HundredGigE1/0/25 + 0 0 0 0 + +HundredGigE1/0/26 + 0 0 0 0 + +HundredGigE1/0/27 + 0 0 0 0 + +HundredGigE1/0/28 + 0 0 0 0 + +HundredGigE1/0/29 + 0 0 0 0 + +HundredGigE1/0/30 + 0 0 0 0 + +HundredGigE1/0/31 + 0 0 0 0 + +HundredGigE1/0/32 + 0 0 0 0 \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchB0CountersDrop/cli/empty/empty_output_2_arguments.json b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchB0CountersDrop/cli/empty/empty_output_2_arguments.json new file mode 100644 index 0000000000..78b0cf4f28 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchB0CountersDrop/cli/empty/empty_output_2_arguments.json @@ -0,0 +1,4 @@ +{ + "mode" : "active", + "mode2" : "active" +} diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchB0CountersDrop/cli/equal/golden_output_2_arguments.json b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchB0CountersDrop/cli/equal/golden_output_2_arguments.json new file mode 100644 index 0000000000..78b0cf4f28 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchB0CountersDrop/cli/equal/golden_output_2_arguments.json @@ -0,0 +1,4 @@ +{ + "mode" : "active", + "mode2" : "active" +} diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchB0CountersDrop/cli/equal/golden_output_2_expected.py b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchB0CountersDrop/cli/equal/golden_output_2_expected.py new file mode 100644 index 0000000000..18c18f28a4 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchB0CountersDrop/cli/equal/golden_output_2_expected.py @@ -0,0 +1,23 @@ +expected_output = { + "RX unexpected control packet count":317, + "RX invalid punt header":0, + "RX invalid inject packet":0, + "RX if_id lookup fail":0, + "RX dad if_id lookup fail":0, + "RX invalid ipc packet len":317, + "RX invalid ctrl packet len":0, + "RX ipc read err":0, + "RX unexpected ipc packet count":0, + "RX ipc write err":0, + "RX ipc ioctl err":0, + "RX zero len":0, + "RX getbuf failed":0, + "HW init socket err":0, + "invalid cyan iosdbp filename":0, + "TX err ctrl packet":0, + "TX err dad packet":0, + "TX err ipc packet":0, + "TX send error":0, + "TX dad send error":0, + "TX consumed packet count":3 +} diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchB0CountersDrop/cli/equal/golden_output_2_output.txt b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchB0CountersDrop/cli/equal/golden_output_2_output.txt new file mode 100644 index 0000000000..2f9d21aeec --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchB0CountersDrop/cli/equal/golden_output_2_output.txt @@ -0,0 +1,25 @@ +Drop Counters Drop Count +============= ========== + +RX unexpected control packet count 317 +RX invalid punt header 0 +RX invalid inject packet 0 +RX if_id lookup fail 0 +RX dad if_id lookup fail 0 +RX invalid ipc packet len 317 +RX invalid ctrl packet len 0 +RX ipc read err 0 +RX unexpected ipc packet count 0 +RX ipc write err 0 +RX ipc ioctl err 0 +RX zero len 0 +RX getbuf failed 0 + +HW init socket err 0 +invalid cyan iosdbp filename 0 +TX err ctrl packet 0 +TX err dad packet 0 +TX err ipc packet 0 +TX send error 0 +TX dad send error 0 +TX consumed packet count 3 diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchB0CountersPuntInject/cli/equal/golden_output_3_arguments.json b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchB0CountersPuntInject/cli/equal/golden_output_3_arguments.json new file mode 100644 index 0000000000..78b0cf4f28 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchB0CountersPuntInject/cli/equal/golden_output_3_arguments.json @@ -0,0 +1,4 @@ +{ + "mode" : "active", + "mode2" : "active" +} diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchB0CountersPuntInject/cli/equal/golden_output_3_expected.py b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchB0CountersPuntInject/cli/equal/golden_output_3_expected.py new file mode 100644 index 0000000000..98d87c541d --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchB0CountersPuntInject/cli/equal/golden_output_3_expected.py @@ -0,0 +1,73 @@ +expected_output = { + "traffic_type":{ + "SVL CTRL":{ + "packets_inject":0, + "packets_punt":0, + "drop_inject":0, + "drop_punt":298 + }, + "SVL IPC":{ + "packets_inject":0, + "packets_punt":0, + "drop_inject":0, + "drop_punt":297 + }, + "SVL DAD":{ + "packets_inject":0, + "packets_punt":0, + "drop_inject":0, + "drop_punt":0 + }, + "SVL SESA":{ + "packets_inject":0, + "packets_punt":0, + "drop_inject":0, + "drop_punt":0 + } + }, + "timestamp_now":"Oct 14 14:24:44.161", + "ctrl_rx_timestamp":{ + "timestamp":{ + 0:"Jan 01 00:00:00.000", + 1:"Jan 01 00:00:00.000", + 2:"Jan 01 00:00:00.000", + 3:"Jan 01 00:00:00.000", + 4:"Jan 01 00:00:00.000" + }, + "ctrl_rx_max_time_gap_sec":"0 sec, 0usec", + "ctrl_rx_max_timestamp":"Jan 01 00:00:00.000" + }, + "ctrl_tx_timestamp":{ + "timestamp":{ + 0:"Jan 01 00:00:00.000", + 1:"Jan 01 00:00:00.000", + 2:"Jan 01 00:00:00.000", + 3:"Jan 01 00:00:00.000", + 4:"Jan 01 00:00:00.000" + }, + "ctrl_tx_max_time_gap_sec":"0 sec, 0usec", + "ctrl_tx_max_timestamp":"Jan 01 00:00:00.000" + }, + "ipc_rx_timestamp":{ + "timestamp":{ + 0:"Jan 01 00:00:00.000", + 1:"Jan 01 00:00:00.000", + 2:"Jan 01 00:00:00.000", + 3:"Jan 01 00:00:00.000", + 4:"Jan 01 00:00:00.000" + }, + "ipc_rx_max_time_gap_sec":"0 sec, 0usec", + "ipc_rx_max_timestamp":"Jan 01 00:00:00.000" + }, + "ipc_tx_timestamp":{ + "timestamp":{ + 0:"Jan 01 00:00:00.000", + 1:"Jan 01 00:00:00.000", + 2:"Jan 01 00:00:00.000", + 3:"Jan 01 00:00:00.000", + 4:"Jan 01 00:00:00.000" + }, + "ipc_tx_max_time_gap_sec":"0 sec, 0usec", + "ipc_tx_max_timestamp":"Jan 01 00:00:00.000" + } +} diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchB0CountersPuntInject/cli/equal/golden_output_3_output.txt b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchB0CountersPuntInject/cli/equal/golden_output_3_output.txt new file mode 100644 index 0000000000..3f936947e4 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareCpmSwitchB0CountersPuntInject/cli/equal/golden_output_3_output.txt @@ -0,0 +1,44 @@ +Traffic Type PACKETS DROP + INJECT | PUNT INJECT | PUNT + ------ ---- ------ ---- +SVL CTRL 0 0 0 298 + +SVL IPC 0 0 0 297 + +SVL DAD 0 0 0 0 + +SVL SESA 0 0 0 0 + + +Timestamp Now: Oct 14 14:24:44.161 +CTRL RX Timestamp: Jan 01 00:00:00.000 [0] +CTRL RX Timestamp: Jan 01 00:00:00.000 [1] +CTRL RX Timestamp: Jan 01 00:00:00.000 [2] +CTRL RX Timestamp: Jan 01 00:00:00.000 [3] +CTRL RX Timestamp: Jan 01 00:00:00.000 [4] +CTRL RX Maximum Time Gap: 0 sec, 0usec +CTRL RX Maximum Gap Timestamp: Jan 01 00:00:00.000 + +CTRL TX Timestamp: Jan 01 00:00:00.000 [0] +CTRL TX Timestamp: Jan 01 00:00:00.000 [1] +CTRL TX Timestamp: Jan 01 00:00:00.000 [2] +CTRL TX Timestamp: Jan 01 00:00:00.000 [3] +CTRL TX Timestamp: Jan 01 00:00:00.000 [4] +CTRL TX Maximum Time Gap: 0 sec, 0usec +CTRL TX Maximum Gap Timestamp: Jan 01 00:00:00.000 + +IPC RX Timestamp: Jan 01 00:00:00.000 [0] +IPC RX Timestamp: Jan 01 00:00:00.000 [1] +IPC RX Timestamp: Jan 01 00:00:00.000 [2] +IPC RX Timestamp: Jan 01 00:00:00.000 [3] +IPC RX Timestamp: Jan 01 00:00:00.000 [4] +IPC RX Maximum Time Gap: 0 sec, 0usec +IPC RX Maximum Gap Timestamp: Jan 01 00:00:00.000 + +IPC TX Timestamp: Jan 01 00:00:00.000 [0] +IPC TX Timestamp: Jan 01 00:00:00.000 [1] +IPC TX Timestamp: Jan 01 00:00:00.000 [2] +IPC TX Timestamp: Jan 01 00:00:00.000 [3] +IPC TX Timestamp: Jan 01 00:00:00.000 [4] +IPC TX Maximum Time Gap: 0 sec, 0usec +IPC TX Maximum Gap Timestamp: Jan 01 00:00:00.000 diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedPuntEntriesInclude/cli/empty/empty_output_arguments.json b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedPuntEntriesInclude/cli/empty/empty_output_arguments.json new file mode 100644 index 0000000000..f0e339a3f4 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedPuntEntriesInclude/cli/empty/empty_output_arguments.json @@ -0,0 +1,4 @@ +{ + "port_num": "1", + "match": "Policy|system-cpp-default-v4" +} diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedPuntEntriesInclude/cli/empty/empty_output_output.txt b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedPuntEntriesInclude/cli/empty/empty_output_output.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedPuntEntriesInclude/cli/equal/golden_output_arguments.json b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedPuntEntriesInclude/cli/equal/golden_output_arguments.json new file mode 100644 index 0000000000..f0e339a3f4 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedPuntEntriesInclude/cli/equal/golden_output_arguments.json @@ -0,0 +1,4 @@ +{ + "port_num": "1", + "match": "Policy|system-cpp-default-v4" +} diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedPuntEntriesInclude/cli/equal/golden_output_expected.py b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedPuntEntriesInclude/cli/equal/golden_output_expected.py new file mode 100644 index 0000000000..5de0a36c7a --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedPuntEntriesInclude/cli/equal/golden_output_expected.py @@ -0,0 +1,30 @@ +expected_output = { + "index": { + 1: { + "source": "LPTSv4", + "name": "WCCP IPv4 ", + "priority": 16, + "tc": 0, + "policy": "system-cpp-default-v4", + "cir_sw": 60000, + "cir_hw": 59127, + "packets_a": 0, + "bytes_a": 0, + "packets_d": 0, + "bytes_d": 0, + }, + 2: { + "source": "LPTSv4", + "name": "RSVP IPV4 ", + "priority": 34, + "tc": 0, + "policy": "system-cpp-default-v4", + "cir_sw": 60000, + "cir_hw": 59127, + "packets_a": 0, + "bytes_a": 0, + "packets_d": 0, + "bytes_d": 0, + }, + } +} diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedPuntEntriesInclude/cli/equal/golden_output_output.txt b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedPuntEntriesInclude/cli/equal/golden_output_output.txt new file mode 100644 index 0000000000..470835cd6f --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedPuntEntriesInclude/cli/equal/golden_output_output.txt @@ -0,0 +1,5 @@ +Source Name Pri TC Policy CIR-SW CIR-HW Pkts(A) Bytes(A) Pkts(D) Bytes(D) + +LPTSv4 WCCP IPv4 16 0 system-cpp-default-v4 60000 59127 0 0 0 0 + +LPTSv4 RSVP IPV4 34 0 system-cpp-default-v4 60000 59127 0 0 0 0 diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveCpuInterfaces/cli/empty/empty_output_output.txt b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveCpuInterfaces/cli/empty/empty_output_output.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveCpuInterfaces/cli/equal/golden_output_expected.py b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveCpuInterfaces/cli/equal/golden_output_expected.py new file mode 100644 index 0000000000..db9c6b8d1e --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveCpuInterfaces/cli/equal/golden_output_expected.py @@ -0,0 +1,196 @@ +expected_output = { + 'queue': { + 'DHCP snooping': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 0, + }, + 'DOT1X authentication': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 0, + }, + 'EGR exception': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 0, + }, + 'EWLC control': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 0, + }, + 'EWLC data': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 0, + }, + 'Exception': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 0, + }, + 'Forus Resolution': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 623, + }, + 'Forus Traffic': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 1035, + }, + 'Gold packet': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 32, + }, + 'High rate app': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 0, + }, + 'Inter FED': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 0, + }, + 'L2 LVX control': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 0, + }, + 'L2 LVX data': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 0, + }, + 'L2 Protocol': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 361037, + }, + 'Low latency': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 0, + }, + 'Multi End station': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 0, + }, + 'Multicast data': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 0, + }, + 'NFL sampled data': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 0, + }, + 'Openflow': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 0, + }, + 'Proto snooping': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 0, + }, + 'Routing Protocol': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 15579, + }, + 'Stackwise Virtual OOB': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 306092188, + }, + 'System Critical': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 4282550, + }, + 'Topology control': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 1089715, + }, + 'Transit Traffic': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 0, + }, + 'Webauth': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 0, + }, + 'broadcast': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 73, + }, + 'icmp gen': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 0, + }, + 'icmp redirect': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 0, + }, + 'logging': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 0, + }, + 'rpf-fail': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 0, + }, + 'sw forwarding': { + 'dropped': 0, + 'hol_block': 0, + 'invalid': 0, + 'retrieved': 113, + }, + }, +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveCpuInterfaces/cli/equal/golden_output_output.txt b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveCpuInterfaces/cli/equal/golden_output_output.txt new file mode 100644 index 0000000000..929634468e --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveCpuInterfaces/cli/equal/golden_output_output.txt @@ -0,0 +1,34 @@ +queue retrieved dropped invalid hol-block +------------------------------------------------------------------------- +Routing Protocol 15579 0 0 0 +L2 Protocol 361037 0 0 0 +sw forwarding 113 0 0 0 +broadcast 73 0 0 0 +icmp gen 0 0 0 0 +icmp redirect 0 0 0 0 +logging 0 0 0 0 +rpf-fail 0 0 0 0 +DOT1X authentication 0 0 0 0 +Forus Traffic 1035 0 0 0 +Forus Resolution 623 0 0 0 +Inter FED 0 0 0 0 +L2 LVX control 0 0 0 0 +EWLC control 0 0 0 0 +EWLC data 0 0 0 0 +L2 LVX data 0 0 0 0 +Openflow 0 0 0 0 +Topology control 1089715 0 0 0 +Proto snooping 0 0 0 0 +DHCP snooping 0 0 0 0 +Transit Traffic 0 0 0 0 +Multi End station 0 0 0 0 +Webauth 0 0 0 0 +High rate app 0 0 0 0 +Exception 0 0 0 0 +System Critical 4282550 0 0 0 +NFL sampled data 0 0 0 0 +Low latency 0 0 0 0 +EGR exception 0 0 0 0 +Stackwise Virtual OOB 306092188 0 0 0 +Multicast data 0 0 0 0 +Gold packet 32 0 0 0 diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveIfmMappingsL3if_le/cli/empty/empty_output_output.txt b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveIfmMappingsL3if_le/cli/empty/empty_output_output.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveIfmMappingsL3if_le/cli/equal/golden_output_expected.py b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveIfmMappingsL3if_le/cli/equal/golden_output_expected.py new file mode 100644 index 0000000000..934a57c17c --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveIfmMappingsL3if_le/cli/equal/golden_output_expected.py @@ -0,0 +1,9 @@ +expected_output = { + "interface": { + "Vlan1": { + "l3if_le": "0x000077ba149b9748", + "if_id": "0x000000fa", + "type": "SVI_L3_LE" + } + } +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveIfmMappingsL3if_le/cli/equal/golden_output_output.txt b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveIfmMappingsL3if_le/cli/equal/golden_output_output.txt new file mode 100644 index 0000000000..fa0107ba83 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveIfmMappingsL3if_le/cli/equal/golden_output_output.txt @@ -0,0 +1,4 @@ + +L3IF_LE Interface IF_ID Type + +0x000077ba149b9748 Vlan1 0x000000fa SVI_L3_LE diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveStatisticsInit/cli/empty/empty_output_output.txt b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveStatisticsInit/cli/empty/empty_output_output.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveStatisticsInit/cli/equal/golden_output_expected.py b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveStatisticsInit/cli/equal/golden_output_expected.py new file mode 100644 index 0000000000..dd1738e33c --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveStatisticsInit/cli/equal/golden_output_expected.py @@ -0,0 +1,287 @@ +expected_output = { + "function_name": { + "Platform VFT initialization": { + "initialization_time": 2784243 + }, + "Parse environment variables": { + "initialization_time": 3 + }, + "SupSlot Position Update": { + "initialization_time": 146 + }, + "Fed IPC chasfs context Init": { + "initialization_time": 294 + }, + "OIR": { + "initialization_time": 65 + }, + "Fed Event Ctx Create": { + "initialization_time": 432 + }, + "Fed Services Create": { + "initialization_time": 471 + }, + "Event dispatcher thread": { + "initialization_time": 2406 + }, + "Distributed Stacking": { + "initialization_time": 162 + }, + "Shared memory": { + "initialization_time": 155 + }, + "FPGA init": { + "initialization_time": 3 + }, + "Gold Post": { + "initialization_time": 19 + }, + "Gold timer": { + "initialization_time": 10603 + }, + "CRYPTO TEST": { + "initialization_time": 37097 + }, + "Punject driver": { + "initialization_time": 1911 + }, + "Post/wait stack manager/sif manager events": { + "initialization_time": 59008448 + }, + "IFM": { + "initialization_time": 134875 + }, + "FED Generic Platform Callback Registration": { + "initialization_time": 4 + }, + "L2 Control": { + "initialization_time": 51 + }, + "PM": { + "initialization_time": 133 + }, + "STP": { + "initialization_time": 8 + }, + "FSS Infra": { + "initialization_time": 189 + }, + "Pkt-Ofld": { + "initialization_time": 2 + }, + "FNF": { + "initialization_time": 22242 + }, + "CFM": { + "initialization_time": 2791 + }, + "Security": { + "initialization_time": 6108 + }, + "ACL": { + "initialization_time": 5872 + }, + "SGACL": { + "initialization_time": 27 + }, + "CTS_ACI": { + "initialization_time": 26 + }, + "FSPAN": { + "initialization_time": 2892 + }, + "FED SPAN": { + "initialization_time": 26 + }, + "MATM": { + "initialization_time": 8728 + }, + "CPU Punject Path": { + "initialization_time": 17380 + }, + "PTP": { + "initialization_time": 4143 + }, + "AVC": { + "initialization_time": 51 + }, + "Wired AVC": { + "initialization_time": 47549 + }, + "SGT_CACHING": { + "initialization_time": 67 + }, + "LISP VXLAN": { + "initialization_time": 795 + }, + "SUBINT": { + "initialization_time": 11508 + }, + "LISP SFLTR": { + "initialization_time": 102 + }, + "EFP": { + "initialization_time": 16 + }, + "Consistency Checker": { + "initialization_time": 17 + }, + "L2 Multicast": { + "initialization_time": 6358 + }, + "mDNS Snooping": { + "initialization_time": 19 + }, + "Access Tunnel": { + "initialization_time": 146 + }, + "Wired Client": { + "initialization_time": 332 + }, + "FED main interrupts thread.": { + "initialization_time": 82 + }, + "DAI": { + "initialization_time": 50 + }, + "L3 unicast": { + "initialization_time": 45761 + }, + "QOS": { + "initialization_time": 45221 + }, + "Tiny Cfg": { + "initialization_time": 34 + }, + "FSS Forwarding": { + "initialization_time": 24745 + }, + "eWLC": { + "initialization_time": 42 + }, + "LI": { + "initialization_time": 43 + }, + "VLAN_TRANSLATE": { + "initialization_time": 20 + }, + "SIS": { + "initialization_time": 18 + }, + "L2NAT": { + "initialization_time": 1 + }, + "FSS Poll Init": { + "initialization_time": 2 + }, + "FSS Interface Enable": { + "initialization_time": 14419 + }, + "Backup interface": { + "initialization_time": 6 + }, + "Show forward": { + "initialization_time": 6035 + }, + "Debug Manager Init": { + "initialization_time": 124 + }, + "REP": { + "initialization_time": 297 + }, + "FED STATS": { + "initialization_time": 85 + }, + "FED Learning": { + "initialization_time": 62 + }, + "Fed VPG": { + "initialization_time": 2 + }, + "OBFL": { + "initialization_time": 879 + }, + "CDP": { + "initialization_time": 241 + }, + "UDLD": { + "initialization_time": 160 + }, + "LLDP": { + "initialization_time": 173 + }, + "OFSDN": { + "initialization_time": 186 + }, + "DHCP Snooping": { + "initialization_time": 902 + }, + "DNS Snooping": { + "initialization_time": 6 + }, + "Macsec": { + "initialization_time": 942 + }, + "IPsec": { + "initialization_time": 7 + }, + "MSRP": { + "initialization_time": 169 + }, + "MVRP": { + "initialization_time": 138 + }, + "EPC": { + "initialization_time": 32 + }, + "EPC_WS": { + "initialization_time": 13 + }, + "EW": { + "initialization_time": 29 + }, + "L2 Bcast": { + "initialization_time": 292 + }, + "L3 Multicast": { + "initialization_time": 1804 + }, + "IE-MRP": { + "initialization_time": 2 + }, + "Debug Cond DP Trace": { + "initialization_time": 12 + }, + "Install ACL control region entries": { + "initialization_time": 5450 + }, + "SISF": { + "initialization_time": 1211 + }, + "Fed DBAL": { + "initialization_time": 27 + }, + "Fed Emul Oper DB": { + "initialization_time": 4 + }, + "Fed Oper DB": { + "initialization_time": 2814 + }, + "Fed common DB": { + "initialization_time": 4547 + }, + "Fed DBAL interfaces": { + "initialization_time": 3 + }, + "FED Post-Init": { + "initialization_time": 364 + }, + "Publish packet ready to stack/sif manager": { + "initialization_time": 108 + }, + "Total Functions": { + "initialization_time": 62276497 + } + } +} + diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveStatisticsInit/cli/equal/golden_output_output.txt b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveStatisticsInit/cli/equal/golden_output_output.txt new file mode 100644 index 0000000000..bfc03829e8 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchActiveStatisticsInit/cli/equal/golden_output_output.txt @@ -0,0 +1,96 @@ +Function_Name Initilization Time(us) +Platform VFT initialization 2784243 +Parse environment variables 3 +SupSlot Position Update 146 +Fed IPC chasfs context Init 294 +OIR 65 +Fed Event Ctx Create 432 +Fed Services Create 471 +Event dispatcher thread 2406 +Distributed Stacking 162 +Shared memory 155 +FPGA init 3 +Gold Post 19 +Gold timer 10603 +CRYPTO TEST 37097 +Punject driver 1911 +Post/wait stack manager/sif manager events 59008448 +IFM 134875 +FED Generic Platform Callback Registration 4 +L2 Control 51 +PM 133 +STP 8 +FSS Infra 189 +Pkt-Ofld 2 +FNF 22242 +CFM 2791 +Security 6108 +ACL 5872 +SGACL 27 +CTS_ACI 26 +FSPAN 2892 +FED SPAN 26 +MATM 8728 +CPU Punject Path 17380 +PTP 4143 +AVC 51 +Wired AVC 47549 +SGT_CACHING 67 +LISP VXLAN 795 +SUBINT 11508 +LISP SFLTR 102 +EFP 18 +EFP 16 +Consistency Checker 17 +L2 Multicast 6358 +mDNS Snooping 19 +Access Tunnel 146 +Wired Client 332 +FED main interrupts thread. 82 +DAI 50 +L3 unicast 45761 +QOS 45221 +Tiny Cfg 34 +FSS Forwarding 24745 +eWLC 42 +LI 43 +VLAN_TRANSLATE 20 +SIS 18 +L2NAT 1 +FSS Poll Init 2 +FSS Interface Enable 14419 +Backup interface 6 +Show forward 6035 +Debug Manager Init 124 +REP 297 +FED STATS 85 +FED Learning 62 +Fed VPG 2 +OBFL 879 +CDP 241 +UDLD 160 +LLDP 173 +OFSDN 186 +DHCP Snooping 902 +DNS Snooping 6 +Macsec 942 +IPsec 7 +MSRP 169 +MVRP 138 +EPC 32 +EPC_WS 13 +EW 29 +L2 Bcast 292 +L3 Multicast 1804 +IE-MRP 2 +Debug Cond DP Trace 12 +Install ACL control region entries 5450 +SISF 1211 +Fed DBAL 27 +Fed Emul Oper DB 4 +Fed Oper DB 2814 +Fed common DB 4547 +Fed DBAL interfaces 3 +FED Post-Init 364 +Publish packet ready to stack/sif manager 108 +Total Functions 62276497 diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchNumberIfmMappingsPortLE/cli/empty/empty_output_output.txt b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchNumberIfmMappingsPortLE/cli/empty/empty_output_output.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchNumberIfmMappingsPortLE/cli/equal/golden_output_expected.py b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchNumberIfmMappingsPortLE/cli/equal/golden_output_expected.py new file mode 100644 index 0000000000..8677c1b4c8 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchNumberIfmMappingsPortLE/cli/equal/golden_output_expected.py @@ -0,0 +1,19 @@ +expected_output = { + "port_le": { + "0x000061c7543a9de8": { + "interface": "TwentyFiveGigE1/1/0/10", + "if_id": "0x00000012", + "type": "PORT_LE" + }, + "0x000061c7543c0fc8": { + "interface": "TwentyFiveGigE1/1/0/9", + "if_id": "0x00000011", + "type": "PORT_LE" + }, + "0x000077ba14569e18": { + "interface": "TwentyFiveGigE1/1/0/1", + "if_id": "0x00000009", + "type": "PORT_LE" + } + } +} diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchNumberIfmMappingsPortLE/cli/equal/golden_output_output.txt b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchNumberIfmMappingsPortLE/cli/equal/golden_output_output.txt new file mode 100644 index 0000000000..b273917ada --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareFedSwitchNumberIfmMappingsPortLE/cli/equal/golden_output_output.txt @@ -0,0 +1,8 @@ +Mappings Table + + +Port_LE Interface IF_ID Type +---------------------------------------------------------------------------------------------------- +0x000061c7543a9de8 TwentyFiveGigE1/1/0/10 0x00000012 PORT_LE +0x000061c7543c0fc8 TwentyFiveGigE1/1/0/9 0x00000011 PORT_LE +0x000077ba14569e18 TwentyFiveGigE1/1/0/1 0x00000009 PORT_LE diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareWiredClientID/cli/empty/empty_output_arguments.json b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareWiredClientID/cli/empty/empty_output_arguments.json new file mode 100644 index 0000000000..b88a9e6597 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareWiredClientID/cli/empty/empty_output_arguments.json @@ -0,0 +1,3 @@ +{ + "client_id":"r0" +} diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareWiredClientID/cli/empty/empty_output_output.txt b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareWiredClientID/cli/empty/empty_output_output.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareWiredClientID/cli/equal/golden_output_arguments.json b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareWiredClientID/cli/equal/golden_output_arguments.json new file mode 100644 index 0000000000..1ff5966966 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareWiredClientID/cli/equal/golden_output_arguments.json @@ -0,0 +1,3 @@ +{ + "client_id":"r0" +} diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareWiredClientID/cli/equal/golden_output_expected.py b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareWiredClientID/cli/equal/golden_output_expected.py new file mode 100644 index 0000000000..cf9abd62b6 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareWiredClientID/cli/equal/golden_output_expected.py @@ -0,0 +1,16 @@ +expected_output={ + 'wired_client': { + '0x15be62c3': { + 'id': '0x15be62c3', + 'mac': '00a3.d1f3.d9eb', + 'fwd': 'Yes', + 'open_access': 'No' + }, + '0x19cad00a': { + 'id': '0x19cad00a', + 'mac': '0011.0100.0005', + 'fwd': 'Yes', + 'open_access': 'No' + } + } +} diff --git a/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareWiredClientID/cli/equal/golden_output_output.txt b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareWiredClientID/cli/equal/golden_output_output.txt new file mode 100644 index 0000000000..42bb576f65 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPlatformSoftwareWiredClientID/cli/equal/golden_output_output.txt @@ -0,0 +1,6 @@ +show platform software wired-client r0 + ID MAC Address Fwd Open Access +----------------------------------------------- +0x15be62c3 00a3.d1f3.d9eb Yes No +0x19cad00a 0011.0100.0005 Yes No + diff --git a/src/genie/libs/parser/iosxe/tests/ShowPolicyMapInterface/cli/equal/golden_output35_argument.json b/src/genie/libs/parser/iosxe/tests/ShowPolicyMapInterface/cli/equal/golden_output35_argument.json new file mode 100644 index 0000000000..a113ed8dfb --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPolicyMapInterface/cli/equal/golden_output35_argument.json @@ -0,0 +1,3 @@ +{ + "interface": "GigabitEthernet1/0/1" +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowPolicyMapInterface/cli/equal/golden_output35_expected.py b/src/genie/libs/parser/iosxe/tests/ShowPolicyMapInterface/cli/equal/golden_output35_expected.py new file mode 100644 index 0000000000..d7d1212923 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPolicyMapInterface/cli/equal/golden_output35_expected.py @@ -0,0 +1,54 @@ +expected_output = { + "GigabitEthernet1/0/1": { + "service_policy": { + "input": { + "policy_name": { + "parent_set_dscp_child_policer": { + "class_map": { + "class-default": { + "match_evaluation": "match-any", + "packets": 18068758, + "match": ["any"], + "qos_set": {"dscp": {"cs6": {}}}, + "child_policy_name": { + "child_ace_policer": { + "class_map": { + "cm-acl100": { + "match_evaluation": "match-all", + "packets": 18068758, + "match": ["access-group 100"], + "police": { + "rate_bps": 500000000, + "burst_bytes": 15625000, + "conformed": { + "bytes": 1987633400, + "actions": { + "transmit": True + }, + "bps": 50875000, + }, + "exceeded": { + "bytes": 1626118200, + "actions": { + "drop": True + }, + "bps": 41622000, + }, + }, + }, + "class-default": { + "match_evaluation": "match-any", + "packets": 0, + "match": ["any"], + }, + } + } + }, + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowPolicyMapInterface/cli/equal/golden_output35_output.txt b/src/genie/libs/parser/iosxe/tests/ShowPolicyMapInterface/cli/equal/golden_output35_output.txt new file mode 100644 index 0000000000..4c6b97e7a4 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowPolicyMapInterface/cli/equal/golden_output35_output.txt @@ -0,0 +1,27 @@ +GigabitEthernet1/0/1 + + Service-policy input: parent_set_dscp_child_policer + + Class-map: class-default (match-any) + 18068758 packets + Match: any + QoS Set + dscp cs6 + + Service-policy : child_ace_policer + + Class-map: cm-acl100 (match-all) + 18068758 packets + Match: access-group 100 + police: + rate 50 % + rate 500000000 bps, burst 15625000 bytes + conformed 1987633400 bytes; actions: + transmit + exceeded 1626118200 bytes; actions: + drop + conformed 50875000 bps, exceeded 41622000 bps + + Class-map: class-default (match-any) + 0 packets + Match: any \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowSdwanControlConnections/cli/equal/golden_output3_expected.py b/src/genie/libs/parser/iosxe/tests/ShowSdwanControlConnections/cli/equal/golden_output3_expected.py new file mode 100644 index 0000000000..57b52eebdc --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowSdwanControlConnections/cli/equal/golden_output3_expected.py @@ -0,0 +1,133 @@ +expected_output = { + 'local_color': { + 'biz-internet': { + 'peer_system_ip': { + '10.8.1.82': { + 'controller_group_id': '10', + 'domain_id': '1', + 'peer_organization': 'Cisco-SDWAN', + 'peer_private_ip': '10.0.111.82', + 'peer_private_port': '12346', + 'peer_protocol': 'dtls', + 'peer_public_ip': '10.0.111.82', + 'peer_public_port': '12346', + 'peer_type': 'vsmart', + 'proxy_state': 'No', + 'site_id': '1001', + 'state': 'up', + 'uptime': '90:19:41:43' + } + } + }, + 'blue': { + 'peer_system_ip': { + '10.8.1.82': { + 'controller_group_id': '10', + 'domain_id': '1', + 'peer_organization': 'Cisco-SDWAN', + 'peer_private_ip': '10.0.111.82', + 'peer_private_port': '12346', + 'peer_protocol': 'dtls', + 'peer_public_ip': '10.0.111.82', + 'peer_public_port': '12346', + 'peer_type': 'vsmart', + 'proxy_state': 'No', + 'site_id': '1001', + 'state': 'up', + 'uptime': '90:19:42:16' + } + } + }, + 'green': { + 'peer_system_ip': { + '10.8.1.82': { + 'controller_group_id': '10', + 'domain_id': '1', + 'peer_organization': 'Cisco-SDWAN', + 'peer_private_ip': '10.0.111.82', + 'peer_private_port': '12346', + 'peer_protocol': 'dtls', + 'peer_public_ip': '10.0.111.82', + 'peer_public_port': '12346', + 'peer_type': 'vsmart', + 'proxy_state': 'No', + 'site_id': '1001', + 'state': 'up', + 'uptime': '90:19:42:14' + } + } + }, + 'private1': { + 'peer_system_ip': { + '10.8.1.82': { + 'controller_group_id': '10', + 'domain_id': '1', + 'peer_organization': 'Cisco-SDWAN', + 'peer_private_ip': '10.0.111.82', + 'peer_private_port': '12346', + 'peer_protocol': 'dtls', + 'peer_public_ip': '10.0.111.82', + 'peer_public_port': '12346', + 'peer_type': 'vsmart', + 'proxy_state': 'No', + 'site_id': '1001', + 'state': 'up', + 'uptime': '90:19:42:20' + }, + '10.8.1.85': { + 'controller_group_id': '0', + 'domain_id': '0', + 'peer_organization': 'Cisco-SDWAN', + 'peer_private_ip': '10.0.111.85', + 'peer_private_port': '12346', + 'peer_protocol': 'dtls', + 'peer_public_ip': '10.0.111.85', + 'peer_public_port': '12346', + 'peer_type': 'vmanage', + 'proxy_state': 'No', + 'site_id': '1001', + 'state': 'up', + 'uptime': '90:19:42:18' + } + } + }, + 'private2': { + 'peer_system_ip': { + '10.8.1.82': { + 'controller_group_id': '10', + 'domain_id': '1', + 'peer_organization': 'Cisco-SDWAN', + 'peer_private_ip': '10.0.111.82', + 'peer_private_port': '12346', + 'peer_protocol': 'dtls', + 'peer_public_ip': '10.0.111.82', + 'peer_public_port': '12346', + 'peer_type': 'vsmart', + 'proxy_state': 'No', + 'site_id': '1001', + 'state': 'up', + 'uptime': '90:19:42:22' + } + } + }, + 'public-internet': { + 'peer_system_ip': { + '10.8.1.82': { + 'controller_group_id': '10', + 'domain_id': '1', + 'peer_organization': 'Cisco-SDWAN', + 'peer_private_ip': '10.0.111.82', + 'peer_private_port': '12346', + 'peer_protocol': 'dtls', + 'peer_public_ip': '10.0.111.82', + 'peer_public_port': '12346', + 'peer_type': 'vsmart', + 'proxy_state': 'No', + 'site_id': '1001', + 'state': 'up', + 'uptime': '90:19:42:04' + } + } + } + } +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowSdwanControlConnections/cli/equal/golden_output3_output.txt b/src/genie/libs/parser/iosxe/tests/ShowSdwanControlConnections/cli/equal/golden_output3_output.txt new file mode 100644 index 0000000000..36b9f71439 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowSdwanControlConnections/cli/equal/golden_output3_output.txt @@ -0,0 +1,12 @@ +show sdwan control connections + PEER PEER CONTROLLER +PEER PEER PEER SITE DOMAIN PEER PRIV PEER PUB GROUP +TYPE PROT SYSTEM IP ID ID PRIVATE IP PORT PUBLIC IP PORT ORGANIZATION LOCAL COLOR PROXY STATE UPTIME ID +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +vsmart dtls 10.8.1.82 1001 1 10.0.111.82 12346 10.0.111.82 12346 Cisco-SDWAN public-internet No up 90:19:42:0410 +vsmart dtls 10.8.1.82 1001 1 10.0.111.82 12346 10.0.111.82 12346 Cisco-SDWAN biz-internet No up 90:19:41:4310 +vsmart dtls 10.8.1.82 1001 1 10.0.111.82 12346 10.0.111.82 12346 Cisco-SDWAN private1 No up 90:19:42:2010 +vsmart dtls 10.8.1.82 1001 1 10.0.111.82 12346 10.0.111.82 12346 Cisco-SDWAN private2 No up 90:19:42:2210 +vsmart dtls 10.8.1.82 1001 1 10.0.111.82 12346 10.0.111.82 12346 Cisco-SDWAN blue No up 90:19:42:1610 +vsmart dtls 10.8.1.82 1001 1 10.0.111.82 12346 10.0.111.82 12346 Cisco-SDWAN green No up 90:19:42:1410 +vmanage dtls 10.8.1.85 1001 0 10.0.111.85 12346 10.0.111.85 12346 Cisco-SDWAN private1 No up 90:19:42:180 \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowSdwanOmpPeers/cli/equal/golden_output2_expected.py b/src/genie/libs/parser/iosxe/tests/ShowSdwanOmpPeers/cli/equal/golden_output2_expected.py new file mode 100644 index 0000000000..1a72c42c5a --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowSdwanOmpPeers/cli/equal/golden_output2_expected.py @@ -0,0 +1,15 @@ +expected_output = { + 'peer': { + '10.8.1.82': { + 'domain_id': 1, + 'overlay_id': 1, + 'region_id': 'None', + 'route': {'install': 37, 'recv': 61, 'sent': 24}, + 'site_id': 1001, + 'state': 'up', + 'tenant': '0', + 'type': 'vsmart', + 'uptime': '90:21:24:08' + } + } +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowSdwanOmpPeers/cli/equal/golden_output2_output.txt b/src/genie/libs/parser/iosxe/tests/ShowSdwanOmpPeers/cli/equal/golden_output2_output.txt new file mode 100644 index 0000000000..d4371b4641 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowSdwanOmpPeers/cli/equal/golden_output2_output.txt @@ -0,0 +1,9 @@ +show sdwan omp peers +R -> routes received +I -> routes installed +S -> routes sent + +TENANT DOMAIN OVERLAY SITE REGION +ID PEER TYPE ID ID ID ID STATE UPTIME R/I/S +----------------------------------------------------------------------------------------------------------------- +0 10.8.1.82 vsmart 1 1 1001 None up 90:21:24:08 61/37/24 \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/tests/ShowSoftwareAuthenticityRunning/cli/empty/empty_output_output.txt b/src/genie/libs/parser/iosxe/tests/ShowSoftwareAuthenticityRunning/cli/empty/empty_output_output.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/genie/libs/parser/iosxe/tests/ShowSoftwareAuthenticityRunning/cli/equal/golden_output_expected.py b/src/genie/libs/parser/iosxe/tests/ShowSoftwareAuthenticityRunning/cli/equal/golden_output_expected.py new file mode 100644 index 0000000000..94dbdb30ef --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowSoftwareAuthenticityRunning/cli/equal/golden_output_expected.py @@ -0,0 +1,100 @@ +expected_output = { + 'package': { + 'cat9k-cc_srdriver.BLD_V1715_STRATOCASTER_TWIG_LATEST_20241014_190558.SSA.pkg': { + 'certificate_serial_number': '670D89C8', + 'hash_algorithm': 'SHA512', + 'image_type': 'Special', + 'key_version': 'A', + 'signature_algorithm': '2048-bit ''RSA', + 'signer_information': { + 'common_name': 'CiscoSystems', + 'organization_name': 'CiscoSystems', + 'organization_unit': 'IOS-XE' + }, + 'verifier_information': { + 'verifier_name': 'rp_base', + 'verifier_version': 'BLD_V1715_STRATOCASTER_TWIG_LATEST_20241014_190558' + } + }, + 'cat9k-guestshell.BLD_V1715_STRATOCASTER_TWIG_LATEST_20241014_190558.SSA.pkg': { + 'certificate_serial_number': '670D89BF', + 'hash_algorithm': 'SHA512', + 'image_type': 'Special', + 'key_version': 'A', + 'signature_algorithm': '2048-bit ''RSA', + 'signer_information': { + 'common_name': 'CiscoSystems', + 'organization_name': 'CiscoSystems', + 'organization_unit': 'IOS-XE' + }, + 'verifier_information': { + 'verifier_name': 'rp_base', + 'verifier_version': 'BLD_V1715_STRATOCASTER_TWIG_LATEST_20241014_190558' + } + }, + 'cat9k-lni.BLD_V1715_STRATOCASTER_TWIG_LATEST_20241014_190558.SSA.pkg': { + 'certificate_serial_number': '670D89BF', + 'hash_algorithm': 'SHA512', + 'image_type': 'Special', + 'key_version': 'A', + 'signature_algorithm': '2048-bit ''RSA', + 'signer_information': { + 'common_name': 'CiscoSystems', + 'organization_name': 'CiscoSystems', + 'organization_unit': 'IOS-XE' + }, + 'verifier_information': { + 'verifier_name': 'rp_base', + 'verifier_version': 'BLD_V1715_STRATOCASTER_TWIG_LATEST_20241014_190558' + } + }, + 'cat9k-rpbase.BLD_V1715_STRATOCASTER_TWIG_LATEST_20241014_190558.SSA.pkg': { + 'certificate_serial_number': '32b5567847576ae5eeedd4e4b2fd055a', + 'hash_algorithm': 'HMAC-SHA256', + 'image_type': 'Release', + 'key_version': 'A', + 'signature_algorithm': '2048-bit ''RSA', + 'signer_information': { + 'common_name': 'CiscoSystems', + 'organization_name': 'CiscoSystems', + 'organization_unit': 'IOS-XE' + }, + 'verifier_information': { + 'verifier_name': 'Hardware ''Anchor', + 'verifier_version': 'F01332R22.03efa3c602022-11-15' + } + }, + 'cat9k-srdriver.BLD_V1715_STRATOCASTER_TWIG_LATEST_20241014_190558.SSA.pkg': { + 'certificate_serial_number': '670D89D2', + 'hash_algorithm': 'SHA512', + 'image_type': 'Special', + 'key_version': 'A', + 'signature_algorithm': '2048-bit ''RSA', + 'signer_information': { + 'common_name': 'CiscoSystems', + 'organization_name': 'CiscoSystems', + 'organization_unit': 'IOS-XE' + }, + 'verifier_information': { + 'verifier_name': 'rp_base', + 'verifier_version': 'BLD_V1715_STRATOCASTER_TWIG_LATEST_20241014_190558' + } + }, + 'cat9k-webui.BLD_V1715_STRATOCASTER_TWIG_LATEST_20241014_190558.SSA.pkg': { + 'certificate_serial_number': '670D89D4', + 'hash_algorithm': 'SHA512', + 'image_type': 'Special', + 'key_version': 'A', + 'signature_algorithm': '2048-bit ''RSA', + 'signer_information': { + 'common_name': 'CiscoSystems', + 'organization_name': 'CiscoSystems', + 'organization_unit': 'IOS-XE' + }, + 'verifier_information': { + 'verifier_name': 'rp_base', + 'verifier_version': 'BLD_V1715_STRATOCASTER_TWIG_LATEST_20241014_190558' + } + } + } +} diff --git a/src/genie/libs/parser/iosxe/tests/ShowSoftwareAuthenticityRunning/cli/equal/golden_output_output.txt b/src/genie/libs/parser/iosxe/tests/ShowSoftwareAuthenticityRunning/cli/equal/golden_output_output.txt new file mode 100644 index 0000000000..bd82f38070 --- /dev/null +++ b/src/genie/libs/parser/iosxe/tests/ShowSoftwareAuthenticityRunning/cli/equal/golden_output_output.txt @@ -0,0 +1,141 @@ +show software authenticity running +PACKAGE cat9k-lni.BLD_V1715_STRATOCASTER_TWIG_LATEST_20241014_190558.SSA.pkg +------------------------------------------------------------------------------ +Image type : Special + Signer Information + Common Name : CiscoSystems + Organization Unit : IOS-XE + Organization Name : CiscoSystems + Certificate Serial Number : 670D89BF + Hash Algorithm : SHA512 + Signature Algorithm : 2048-bit RSA + Key Version : A + + Verifier Information + Verifier Name : rp_base + Verifier Version : BLD_V1715_STRATOCASTER_TWIG_LATEST_20241014_190558 + +PACKAGE cat9k-guestshell.BLD_V1715_STRATOCASTER_TWIG_LATEST_20241014_190558.SSA.pkg +------------------------------------------------------------------------------------- +Image type : Special + Signer Information + Common Name : CiscoSystems + Organization Unit : IOS-XE + Organization Name : CiscoSystems + Certificate Serial Number : 670D89BF + Hash Algorithm : SHA512 + Signature Algorithm : 2048-bit RSA + Key Version : A + + Verifier Information + Verifier Name : rp_base + Verifier Version : BLD_V1715_STRATOCASTER_TWIG_LATEST_20241014_190558 + +PACKAGE cat9k-webui.BLD_V1715_STRATOCASTER_TWIG_LATEST_20241014_190558.SSA.pkg +-------------------------------------------------------------------------------- +Image type : Special + Signer Information + Common Name : CiscoSystems + Organization Unit : IOS-XE + Organization Name : CiscoSystems + Certificate Serial Number : 670D89D4 + Hash Algorithm : SHA512 + Signature Algorithm : 2048-bit RSA + Key Version : A + + Verifier Information + Verifier Name : rp_base + Verifier Version : BLD_V1715_STRATOCASTER_TWIG_LATEST_20241014_190558 + +PACKAGE cat9k-cc_srdriver.BLD_V1715_STRATOCASTER_TWIG_LATEST_20241014_190558.SSA.pkg +-------------------------------------------------------------------------------------- +Image type : Special + Signer Information + Common Name : CiscoSystems + Organization Unit : IOS-XE + Organization Name : CiscoSystems + Certificate Serial Number : 670D89C8 + Hash Algorithm : SHA512 + Signature Algorithm : 2048-bit RSA + Key Version : A + + Verifier Information + Verifier Name : rp_base + Verifier Version : BLD_V1715_STRATOCASTER_TWIG_LATEST_20241014_190558 + +PACKAGE cat9k-srdriver.BLD_V1715_STRATOCASTER_TWIG_LATEST_20241014_190558.SSA.pkg +----------------------------------------------------------------------------------- +Image type : Special + Signer Information + Common Name : CiscoSystems + Organization Unit : IOS-XE + Organization Name : CiscoSystems + Certificate Serial Number : 670D89D2 + Hash Algorithm : SHA512 + Signature Algorithm : 2048-bit RSA + Key Version : A + + Verifier Information + Verifier Name : rp_base + Verifier Version : BLD_V1715_STRATOCASTER_TWIG_LATEST_20241014_190558 + +PACKAGE cat9k-rpbase.BLD_V1715_STRATOCASTER_TWIG_LATEST_20241014_190558.SSA.pkg +--------------------------------------------------------------------------------- +Image type : Special + Signer Information + Common Name : CiscoSystems + Organization Unit : IOS-XE + Organization Name : CiscoSystems + Certificate Serial Number : 670D8A96 + Hash Algorithm : SHA512 + Signature Algorithm : 2048-bit RSA + Key Version : A + + Verifier Information + Verifier Name : rp_base + Verifier Version : BLD_V1715_STRATOCASTER_TWIG_LATEST_20241014_190558 + +SYSTEM IMAGE +------------ +Image type : Special + Signer Information + Common Name : CiscoSystems + Organization Unit : IOS-XE + Organization Name : CiscoSystems + Certificate Serial Number : 670D89BB + Hash Algorithm : SHA512 + Signature Algorithm : 2048-bit RSA + Key Version : A + + Verifier Information + Verifier Name : ROMMON + Verifier Version : System Bootstrap, Version 17.15.0.7r[Doyle_x4] + +ROMMON +------ +Image type : Special + Signer Information + Common Name : CiscoSystems + Organization Unit : IOS-XE + Organization Name : CiscoSystems + Certificate Serial Number : 670D89BB + Hash Algorithm : SHA512 + Signature Algorithm : 2048-bit RSA + Key Version : A + + Verifier Information + Verifier Name : Microloader + Verifier Version : MA1007R07.0612032020 + +Microloader +----------- +Image type : Release + Signer Information + Common Name : CiscoSystems + Organization Name : CiscoSystems + Certificate Serial Number : 32b5567847576ae5eeedd4e4b2fd055a + Hash Algorithm : HMAC-SHA256 + Verifier Information + Verifier Name : Hardware Anchor + Verifier Version : F01332R22.03efa3c602022-11-15 + diff --git a/src/genie/libs/parser/iosxr/show_lag.py b/src/genie/libs/parser/iosxr/show_lag.py index 96aeed7484..7c083f3f1a 100755 --- a/src/genie/libs/parser/iosxr/show_lag.py +++ b/src/genie/libs/parser/iosxr/show_lag.py @@ -599,7 +599,7 @@ def cli(self, interface='', output=None): out = output return super().cli(interface=interface, output=out) - + class ShowLacpSchema(MetaParser): """Schema for show lacp""" @@ -610,11 +610,12 @@ class ShowLacpSchema(MetaParser): 'name': str, 'bundle_id': int, 'lacp_mode': str, + Optional('iccp_group'): int, 'port': { Any(): { 'interface': str, 'bundle_id': int, - 'rate': int, + Optional('rate'): int, 'state': str, 'port_id': str, 'key': str, @@ -624,7 +625,7 @@ class ShowLacpSchema(MetaParser): 'collecting': bool, 'distributing': bool, 'partner': { - 'rate': int, + Optional('rate'): int, 'state': str, 'port_id': str, 'key': str, @@ -648,7 +649,7 @@ class ShowLacpSchema(MetaParser): class ShowLacp(ShowLacpSchema): - """parser for + """parser for show lacp show lacp """ @@ -668,19 +669,21 @@ def cli(self, interface=None, output=None): result_dict = {} # Bundle-Ether1 - p1 = re.compile(r'^Bundle-Ether(?P[\d]+)$') + # Bundle-Ether13 (ICCP Group 13) + p1 = re.compile(r'^(?PBundle-Ether(?P[\d]+))( \(ICCP Group (?P\d+)\))?$') # Port (rate) State Port ID Key System ID # Gi0/0/0/0 30s ascdA--- 0x000a,0x0001 0x0001 0x0064,00-1b-0c-ff-6a-36 # Partner 30s as--A--- 0x8000,0x0004 0x0002 0x8000,00-0c-86-ff-c6-81 - p2 = re.compile(r'^(?P[\S]+) +(?P[\d]+)s +(?P[\w-]+)' - ' +(?P[\w, ]+) +(?P[\w]+)' - ' +(?P[\w\-, ]+)$') + # Te0/1/0/8 a---AF-- 0x8003,0x9001 0x000d 0x0001,40-55-39-63-6c-e5 + p2 = re.compile(r'^(?P[\S]+)( +(?P[\d]+)s)? +(?P[\w-]+)' + r' +(?P[\w,]+) +(?P[\w]+)' + r' +(?P[\w\-,]+)$') # Port Receive Period Selection Mux A Churn P Churn - # Gi0/0/0/0 Current Slow Selected Distrib None None + # Gi0/0/0/0 Current Slow Selected Distrib None None p3 = re.compile(r'^(?P[\S]+) +(?P[\w]+) +(?P[\w]+) +(?P[\w]+)' - ' +(?P[\w]+) +(?P[\w]+) +(?P[\w]+)$') + r' +(?P[\w]+) +(?P[\w]+) +(?P[\w]+)$') for line in out.splitlines(): if line: @@ -688,19 +691,22 @@ def cli(self, interface=None, output=None): else: continue - # Bundle-Ether1 + # Bundle-Ether1 m = p1.match(line) if m: group = m.groupdict() - name = m.group() + name = group['name'] bundle_dict = result_dict.setdefault('interfaces', {}).setdefault(name, {}) bundle_dict.update({'name': name}) bundle_dict.update({'bundle_id': int(group['bundle_id'])}) + if group['iccp_group']: + bundle_dict.update({'iccp_group': int(group['iccp_group'])}) continue # Port (rate) State Port ID Key System ID # Gi0/0/0/0 30s ascdA--- 0x000a,0x0001 0x0001 0x0064,00-1b-0c-ff-6a-36 # Partner 30s as--A--- 0x8000,0x0004 0x0002 0x8000,00-0c-86-ff-c6-81 + # Te0/1/0/8 a---AF-- 0x8003,0x9001 0x000d 0x0001,40-55-39-63-6c-e5 m = p2.match(line) if m: group = m.groupdict() @@ -713,7 +719,8 @@ def cli(self, interface=None, output=None): bundle_dict.update({'lacp_mode': 'active' if "A" in state else 'passive'}) else: sub_dict = bundle_dict.setdefault('port', {}).setdefault(interface, {}).setdefault('partner', {}) - sub_dict.update({'rate': int(group['rate'])}) + if group['rate']: + sub_dict.update({'rate': int(group['rate'])}) sub_dict.update({'state': state}) sub_dict.update({'port_id': group['port_id']}) sub_dict.update({'key': group['key']}) @@ -741,4 +748,3 @@ def cli(self, interface=None, output=None): continue return result_dict - diff --git a/src/genie/libs/parser/iosxr/tests/ShowLacp/cli/equal/golden_output_3_expected.py b/src/genie/libs/parser/iosxr/tests/ShowLacp/cli/equal/golden_output_3_expected.py new file mode 100644 index 0000000000..27e277581f --- /dev/null +++ b/src/genie/libs/parser/iosxr/tests/ShowLacp/cli/equal/golden_output_3_expected.py @@ -0,0 +1,211 @@ +expected_output = { + "interfaces": { + "Bundle-Ether13": { + "name": "Bundle-Ether13", + "bundle_id": 13, + "iccp_group": 13, + "port": { + "TenGigabitEthernet0/1/0/6": { + "interface": "TenGigabitEthernet0/1/0/6", + "bundle_id": 13, + "rate": 30, + "state": "ascdAF--", + "port_id": "0x8002,0xa001", + "key": "0x000d", + "system_id": "0x0001,40-55-39-63-6c-e5", + "aggregatable": True, + "synchronization": "in_sync", + "collecting": True, + "distributing": True, + "partner": { + "rate": 1, + "state": "ascdA---", + "port_id": "0x8000,0x0003", + "key": "0x000d", + "system_id": "0x8000,19-23-19-23-19-23", + "aggregatable": True, + "synchronization": "in_sync", + "collecting": True, + "distributing": True + }, + "receive": "Current", + "period": "Slow", + "selection": "Selected", + "mux": "Distrib", + "a_churn": "None", + "p_churn": "None" + }, + "TenGigabitEthernet0/1/0/8": { + "interface": "TenGigabitEthernet0/1/0/8", + "bundle_id": 13, + "state": "a---AF--", + "port_id": "0x8003,0x9001", + "key": "0x000d", + "system_id": "0x0001,40-55-39-63-6c-e5", + "aggregatable": True, + "synchronization": "out_sync", + "collecting": False, + "distributing": False, + "partner": { + "state": "as--A---", + "port_id": "0x8000,0x0002", + "key": "0x000d", + "system_id": "0x8000,19-23-19-23-19-23", + "aggregatable": True, + "synchronization": "in_sync", + "collecting": False, + "distributing": False + }, + "receive": "Current", + "period": "Slow", + "selection": "Standby", + "mux": "Waiting", + "a_churn": "Churn", + "p_churn": "None" + } + }, + "lacp_mode": "active" + }, + "Bundle-Ether15": { + "name": "Bundle-Ether15", + "bundle_id": 15, + "port": { + "TenGigabitEthernet0/1/0/10": { + "interface": "TenGigabitEthernet0/1/0/10", + "bundle_id": 15, + "rate": 30, + "state": "ascdA---", + "port_id": "0x8000,0x0004", + "key": "0x000f", + "system_id": "0x8000,10-f3-11-02-f8-3e", + "aggregatable": True, + "synchronization": "in_sync", + "collecting": True, + "distributing": True, + "partner": { + "rate": 30, + "state": "ascdA---", + "port_id": "0x8000,0x0002", + "key": "0x000f", + "system_id": "0x8000,a8-0c-0d-3a-ae-55", + "aggregatable": True, + "synchronization": "in_sync", + "collecting": True, + "distributing": True + }, + "receive": "Current", + "period": "Slow", + "selection": "Selected", + "mux": "Distrib", + "a_churn": "None", + "p_churn": "None" + } + }, + "lacp_mode": "active" + }, + "Bundle-Ether20": { + "name": "Bundle-Ether20", + "bundle_id": 20, + "port": { + "TenGigabitEthernet0/1/0/0": { + "interface": "TenGigabitEthernet0/1/0/0", + "bundle_id": 20, + "rate": 30, + "state": "ascdA---", + "port_id": "0x8000,0x0003", + "key": "0x0014", + "system_id": "0x8000,10-f3-11-02-f8-3e", + "aggregatable": True, + "synchronization": "in_sync", + "collecting": True, + "distributing": True, + "partner": { + "rate": 30, + "state": "ascdA---", + "port_id": "0x8000,0x0001", + "key": "0x0014", + "system_id": "0x8000,00-c1-64-61-f9-61", + "aggregatable": True, + "synchronization": "in_sync", + "collecting": True, + "distributing": True + }, + "receive": "Current", + "period": "Slow", + "selection": "Selected", + "mux": "Distrib", + "a_churn": "None", + "p_churn": "None" + } + }, + "lacp_mode": "active" + }, + "Bundle-Ether1905": { + "name": "Bundle-Ether1905", + "bundle_id": 1905, + "port": { + "TenGigabitEthernet0/1/0/18": { + "interface": "TenGigabitEthernet0/1/0/18", + "bundle_id": 1905, + "rate": 1, + "state": "a---A-D-", + "port_id": "0x8000,0x0002", + "key": "0x0771", + "system_id": "0x8000,10-f3-11-02-f8-3e", + "aggregatable": True, + "synchronization": "out_sync", + "collecting": False, + "distributing": False, + "partner": { + "rate": 30, + "state": "-----FD-", + "port_id": "0x0000,0x0000", + "key": "0x0000", + "system_id": "0x0000,00-00-00-00-00-00", + "aggregatable": False, + "synchronization": "out_sync", + "collecting": False, + "distributing": False + }, + "receive": "Disabled", + "period": "None", + "selection": "Unselect", + "mux": "Detached", + "a_churn": "Monitor", + "p_churn": "Monitor" + }, + "TenGigabitEthernet0/1/0/19": { + "interface": "TenGigabitEthernet0/1/0/19", + "bundle_id": 1905, + "rate": 1, + "state": "a---A-D-", + "port_id": "0x8000,0x0001", + "key": "0x0771", + "system_id": "0x8000,10-f3-11-02-f8-3e", + "aggregatable": True, + "synchronization": "out_sync", + "collecting": False, + "distributing": False, + "partner": { + "rate": 30, + "state": "-----FD-", + "port_id": "0x0000,0x0000", + "key": "0x0000", + "system_id": "0x0000,00-00-00-00-00-00", + "aggregatable": False, + "synchronization": "out_sync", + "collecting": False, + "distributing": False + }, + "receive": "Disabled", + "period": "None", + "selection": "Unselect", + "mux": "Detached", + "a_churn": "Monitor", + "p_churn": "Monitor" + } + }, + "lacp_mode": "active" + } + } +} diff --git a/src/genie/libs/parser/iosxr/tests/ShowLacp/cli/equal/golden_output_3_output.txt b/src/genie/libs/parser/iosxr/tests/ShowLacp/cli/equal/golden_output_3_output.txt new file mode 100644 index 0000000000..3013611006 --- /dev/null +++ b/src/genie/libs/parser/iosxr/tests/ShowLacp/cli/equal/golden_output_3_output.txt @@ -0,0 +1,69 @@ +Wed Sep 11 17:21:51.913 GMT+4 +State: a - Port is marked as Aggregable. + s - Port is Synchronized with peer. + c - Port is marked as Collecting. + d - Port is marked as Distributing. + A - Device is in Active mode. + F - Device requests PDUs from the peer at fast rate. + D - Port is using default values for partner information. + E - Information about partner has expired. + +Bundle-Ether13 (ICCP Group 13) + + Port (rate) State Port ID Key System ID + -------------------- -------- ------------- ------ ------------------------ +Local + Te0/1/0/6 30s ascdAF-- 0x8002,0xa001 0x000d 0x0001,40-55-39-63-6c-e5 + Partner 1s ascdA--- 0x8000,0x0003 0x000d 0x8000,19-23-19-23-19-23 +mLACP Peer 10.100.0.13 (ICCP Group 13) + Te0/1/0/8 a---AF-- 0x8003,0x9001 0x000d 0x0001,40-55-39-63-6c-e5 + Partner as--A--- 0x8000,0x0002 0x000d 0x8000,19-23-19-23-19-23 + + Port Receive Period Selection Mux A Churn P Churn + -------------------- ---------- ------ ---------- --------- ------- ------- +Local + Te0/1/0/6 Current Slow Selected Distrib None None +mLACP Peer 10.100.0.13 (ICCP Group 13) + Te0/1/0/8 Current Slow Standby Waiting Churn None + +Bundle-Ether15 + + Port (rate) State Port ID Key System ID + -------------------- -------- ------------- ------ ------------------------ +Local + Te0/1/0/10 30s ascdA--- 0x8000,0x0004 0x000f 0x8000,10-f3-11-02-f8-3e + Partner 30s ascdA--- 0x8000,0x0002 0x000f 0x8000,a8-0c-0d-3a-ae-55 + + Port Receive Period Selection Mux A Churn P Churn + -------------------- ---------- ------ ---------- --------- ------- ------- +Local + Te0/1/0/10 Current Slow Selected Distrib None None + +Bundle-Ether20 + + Port (rate) State Port ID Key System ID + -------------------- -------- ------------- ------ ------------------------ +Local + Te0/1/0/0 30s ascdA--- 0x8000,0x0003 0x0014 0x8000,10-f3-11-02-f8-3e + Partner 30s ascdA--- 0x8000,0x0001 0x0014 0x8000,00-c1-64-61-f9-61 + + Port Receive Period Selection Mux A Churn P Churn + -------------------- ---------- ------ ---------- --------- ------- ------- +Local + Te0/1/0/0 Current Slow Selected Distrib None None + +Bundle-Ether1905 + + Port (rate) State Port ID Key System ID + -------------------- -------- ------------- ------ ------------------------ +Local + Te0/1/0/18 1s a---A-D- 0x8000,0x0002 0x0771 0x8000,10-f3-11-02-f8-3e + Partner 30s -----FD- 0x0000,0x0000 0x0000 0x0000,00-00-00-00-00-00 + Te0/1/0/19 1s a---A-D- 0x8000,0x0001 0x0771 0x8000,10-f3-11-02-f8-3e + Partner 30s -----FD- 0x0000,0x0000 0x0000 0x0000,00-00-00-00-00-00 + + Port Receive Period Selection Mux A Churn P Churn + -------------------- ---------- ------ ---------- --------- ------- ------- +Local + Te0/1/0/18 Disabled None Unselect Detached Monitor Monitor + Te0/1/0/19 Disabled None Unselect Detached Monitor Monitor diff --git a/src/genie/libs/parser/nxos/show_igmp.py b/src/genie/libs/parser/nxos/show_igmp.py index 855e6f3bc3..13d4b37cb9 100644 --- a/src/genie/libs/parser/nxos/show_igmp.py +++ b/src/genie/libs/parser/nxos/show_igmp.py @@ -925,7 +925,7 @@ def cli(self, vrf='', output=None): source_flag = False for line in out.splitlines(): - line = line.strip() + line = line.rstrip() # IGMP Connected Group Membership for VRF "default" - 4 total entries p1 = re.compile(r'^IGMP +Connected +Group +Membership +for +VRF +\"(?P\S+)\"' @@ -943,27 +943,29 @@ def cli(self, vrf='', output=None): continue # 239.7.7.7 - p2 = re.compile(r'^(?P[\w\.\:]+)$') + p2 = re.compile(r'^(?P\s*)?(?P[\w\.\:]+)$') m = p2.match(line) if m: group = m.groupdict()['group'] + no_of_group_whitespace = m.groupdict()['whitespace'].count(' ') source_flag = True continue # 239.5.5.5 S Ethernet2/1 00:21:00 never 10.1.2.1 # 234.1.1.2 L loopback11 00:00:20 never 10.100.5.5 - p3 = re.compile(r'^(?P[\w\.\:]+) +(?P[SDLTH\*]+) +(?P[\w\.\/\-]+)' + p3 = re.compile(r'^(?P\s*)?(?P[\w\.\:]+) +(?P[SDLTH\*]+) +(?P[\w\.\/\-]+)' ' +(?P[\w\.\:]+) +(?P[\w\.\:]+)' ' +(?P[\w\.\:]+)$') m = p3.match(line) if m: + no_of_whitespace = m.groupdict()['whitespace'].count(' ') intf = m.groupdict()['intf'].capitalize() if 'interface' not in ret_dict['vrfs'][vrf]: ret_dict['vrfs'][vrf]['interface'] = {} if intf not in ret_dict['vrfs'][vrf]['interface']: ret_dict['vrfs'][vrf]['interface'][intf] = {} - if source_flag: + if source_flag and no_of_whitespace > no_of_group_whitespace: source = m.groupdict()['group'] else: group = m.groupdict()['group'] @@ -973,7 +975,7 @@ def cli(self, vrf='', output=None): if group not in ret_dict['vrfs'][vrf]['interface'][intf]['group']: ret_dict['vrfs'][vrf]['interface'][intf]['group'][group] = {} - if source_flag: + if source_flag and no_of_whitespace > no_of_group_whitespace: if 'source' not in ret_dict['vrfs'][vrf]['interface'][intf]['group'][group]: ret_dict['vrfs'][vrf]['interface'][intf]['group'][group]['source'] = {} if source not in ret_dict['vrfs'][vrf]['interface'][intf]['group'][group]['source']: @@ -996,9 +998,6 @@ def cli(self, vrf='', output=None): m.groupdict()['uptime'] ret_dict['vrfs'][vrf]['interface'][intf]['group'][group]['last_reporter'] = \ m.groupdict()['last_reporter'] - - source_flag = False - continue return ret_dict diff --git a/src/genie/libs/parser/nxos/show_mld.py b/src/genie/libs/parser/nxos/show_mld.py index a6bc4827d1..4a6f93e216 100644 --- a/src/genie/libs/parser/nxos/show_mld.py +++ b/src/genie/libs/parser/nxos/show_mld.py @@ -569,22 +569,20 @@ def cli(self, vrf='', output=None): # ff38::1 p2 = re.compile(r'^(?P[\w\.\:]+)$') - # fffe::1 D Ethernet1/2.10 00:13:56 00:03:31 fe80::200:7cff:fe06:af79 - p3 = re.compile(r'^(?P\w+\:\:\w+) +(?P\w+) +(?P[\w\.\/\-]+)' - r' +(?P[\w\.\:]+) +(?P[\w\.\:]+) +(?P[\w\.\:]+)$') - # 2001:20:1:1::254 D Ethernet1/2.10 00:13:56 00:03:31 fe80::200:7cff:fe06:af79 - p4 = re.compile(r'^(?P[\w\.\:]+) +(?P\w+) +(?P[\w\.\/\-]+)' + # ff04:230:11:1::1 D Vlan2 23:20:22 00:02:36 fe80::10:23:4:30 + # 10:11:1::10 D Vlan20 23:20:22 00:03:50 fe80::10:22:1:20 + p4 = re.compile(r'^(?P\s*)?(?P[\w\.\:]+) +(?P\w+) +(?P[\w\.\/\-]+)' r' +(?P[\w\.\:]+) +(?P[\w\.\:]+) +(?P[\w\.\:]+)$') # (2001:db8:0:abcd::2, ff30::2) p5 = re.compile(r'^\((?P[\w\.\:\*]+), *(?P[\w\.\:]+)\)$') - # Type: Static, Interface: Ethernet2/1 - p6 = re.compile(r'^Type: +(?P\w+), Interface: +(?P[\w\.\/\-]+)$') + # Type: Static, Interface: Ethernet2/1 + p6 = re.compile(r'^\s+Type: +(?P\w+), Interface: +(?P[\w\.\/\-]+)$') - # Uptime/Expires: 00:26:28/never, Last Reporter: 2001:db8:8404:907f::1 - p7 = re.compile(r'^Uptime\/Expires *: +(?P[\w\.\:]+)/(?P[\w\.\:]+), +' + # Uptime/Expires: 00:26:28/never, Last Reporter: 2001:db8:8404:907f::1 + p7 = re.compile(r'^\s+Uptime\/Expires *: +(?P[\w\.\:]+)/(?P[\w\.\:]+), +' r'Last +Reporter *: +(?P[\w\.\:]+)$') # initial variables @@ -594,7 +592,7 @@ def cli(self, vrf='', output=None): sub_dict = {} for line in out.splitlines(): - line = line.strip() + line = line.rstrip() # show ipv6 mld groups m = p0.match(line) @@ -618,30 +616,24 @@ def cli(self, vrf='', output=None): group = m.groupdict()['group'] continue - # fffe::1 D Ethernet1/2.10 00:13:56 00:03:31 fe80::200:7cff:fe06:af79 - m = p3.match(line) - if m: - group = m.groupdict()['group'] - intf = Common.convert_intf_name(m.groupdict()['intf']) - - sub_dict = ret_dict.setdefault('vrfs', {}).setdefault(vrf, {}).setdefault( - 'interface', {}).setdefault(intf, {}).setdefault('group', {}).setdefault(group, {}) - - sub_dict['type'] = m.groupdict()['type'].lower() - sub_dict['expire'] = m.groupdict()['expires'] - sub_dict['up_time'] = m.groupdict()['uptime'] - sub_dict['last_reporter'] = m.groupdict()['last_reporter'] - continue - # 2001:20:1:1::254 D Ethernet1/2.10 00:13:56 00:03:31 fe80::200:7cff:fe06:af79 + # ff04:230:11:1::1 D Vlan2 23:20:22 00:02:36 fe80::10:23:4:30 + # 10:11:1::10 D Vlan20 23:20:22 00:03:50 fe80::10:22:1:20 m = p4.match(line) if m: + no_of_whitespace = m.groupdict()['whitespace'].count(' ') intf = Common.convert_intf_name(m.groupdict()['intf']) - source = m.groupdict()['source'] + if no_of_whitespace: + source = m.groupdict()['source'] - sub_dict = ret_dict.setdefault('vrfs', {}).setdefault(vrf, {}).setdefault( - 'interface', {}).setdefault(intf, {}).setdefault('group', {}).setdefault( - group, {}).setdefault('source', {}).setdefault(source, {}) + sub_dict = ret_dict.setdefault('vrfs', {}).setdefault(vrf, {}).setdefault( + 'interface', {}).setdefault(intf, {}).setdefault('group', {}).setdefault( + group, {}).setdefault('source', {}).setdefault(source, {}) + else: + group = m.groupdict()['source'] + + sub_dict = ret_dict.setdefault('vrfs', {}).setdefault(vrf, {}).setdefault( + 'interface', {}).setdefault(intf, {}).setdefault('group', {}).setdefault(group, {}) sub_dict['type'] = m.groupdict()['type'].lower() sub_dict['expire'] = m.groupdict()['expires'] @@ -656,7 +648,7 @@ def cli(self, vrf='', output=None): source = m.groupdict()['source'] continue - # Type: Static, Interface: Ethernet2/1 + # Type: Static, Interface: Ethernet2/1 m = p6.match(line) if m: intf = Common.convert_intf_name(m.groupdict()['intf']) @@ -665,7 +657,6 @@ def cli(self, vrf='', output=None): if intf not in ret_dict['vrfs'][vrf]['interface']: ret_dict['vrfs'][vrf]['interface'][intf] = {} - if 'group' not in ret_dict['vrfs'][vrf]['interface'][intf]: ret_dict['vrfs'][vrf]['interface'][intf]['group'] = {} if group and group not in ret_dict['vrfs'][vrf]['interface'][intf]['group']: @@ -684,7 +675,7 @@ def cli(self, vrf='', output=None): sub_dict['type'] = m.groupdict()['type'].lower() continue - # Uptime/Expires: 00:26:28/never, Last Reporter: 2001:db8:8404:907f::1 + # Uptime/Expires: 00:26:28/never, Last Reporter: 2001:db8:8404:907f::1 m = p7.match(line) if m: sub_dict['expire'] = m.groupdict()['expires'] diff --git a/src/genie/libs/parser/nxos/show_pim.py b/src/genie/libs/parser/nxos/show_pim.py index ded72be838..e89c6077fc 100644 --- a/src/genie/libs/parser/nxos/show_pim.py +++ b/src/genie/libs/parser/nxos/show_pim.py @@ -1097,8 +1097,9 @@ def cli(self, af='ip', vrf='', output=None): # RP-source: (local), # RP-source: (local), group-map: BIDIR_SPARSE1, + # RP-source: (local), Null-Register Packing disabled p8_3 = re.compile(r'^\s*RP\-source:( +(?P\S+))? +\(+(?P\w+)+\),' - ' *(group-map: +(?P[\w\-]+),)?$') + r' *(group-map: +(?P[\w\-]+),|Null-Register Packing disabled)?$') m = p8_3.match(line) if m: code = None diff --git a/src/genie/libs/parser/nxos/tests/ShowIpIgmpGroups/cli/equal/golden_output_3_arguments.json b/src/genie/libs/parser/nxos/tests/ShowIpIgmpGroups/cli/equal/golden_output_3_arguments.json new file mode 100644 index 0000000000..21ce646819 --- /dev/null +++ b/src/genie/libs/parser/nxos/tests/ShowIpIgmpGroups/cli/equal/golden_output_3_arguments.json @@ -0,0 +1,3 @@ +{ + "vrf": "McAST_VRF_A" +} \ No newline at end of file diff --git a/src/genie/libs/parser/nxos/tests/ShowIpIgmpGroups/cli/equal/golden_output_3_expected.py b/src/genie/libs/parser/nxos/tests/ShowIpIgmpGroups/cli/equal/golden_output_3_expected.py new file mode 100644 index 0000000000..ddef843553 --- /dev/null +++ b/src/genie/libs/parser/nxos/tests/ShowIpIgmpGroups/cli/equal/golden_output_3_expected.py @@ -0,0 +1,49 @@ +expected_output = { + "vrfs": { + "MCAST_VRF_A": { + "total_entries": 4, + "interface": { + "Vlan20": { + "group": { + "230.11.1.1": { + "expire": "00:03:01", + "type": "D", + "up_time": "1d02h", + "last_reporter": "10.22.1.10" + }, + "232.11.1.1": { + "source": { + "10.11.1.10": { + "expire": "00:03:01", + "type": "D", + "up_time": "1d02h", + "last_reporter": "10.22.1.20" + } + } + } + } + }, + "Vlan2": { + "group": { + "230.11.1.1": { + "expire": "00:03:43", + "type": "D", + "up_time": "1d02h", + "last_reporter": "10.23.4.30" + }, + "232.11.1.1": { + "source": { + "10.11.1.10": { + "expire": "00:03:43", + "type": "D", + "up_time": "1d02h", + "last_reporter": "10.23.4.40" + } + } + } + } + } + } + } + } +} diff --git a/src/genie/libs/parser/nxos/tests/ShowIpIgmpGroups/cli/equal/golden_output_3_output.txt b/src/genie/libs/parser/nxos/tests/ShowIpIgmpGroups/cli/equal/golden_output_3_output.txt new file mode 100644 index 0000000000..b0d8ce1bc2 --- /dev/null +++ b/src/genie/libs/parser/nxos/tests/ShowIpIgmpGroups/cli/equal/golden_output_3_output.txt @@ -0,0 +1,9 @@ +IGMP Connected Group Membership for VRF "MCAST_VRF_A" - 4 total entries +Type: S - Static, D - Dynamic, L - Local, T - SSM Translated, H - Host Proxy + * - Cache Only +Group Address Type Interface Uptime Expires Last Reporter +230.11.1.1 D Vlan20 1d02h 00:03:01 10.22.1.10 +230.11.1.1 D Vlan2 1d02h 00:03:43 10.23.4.30 +232.11.1.1 + 10.11.1.10 D Vlan20 1d02h 00:03:01 10.22.1.20 + 10.11.1.10 D Vlan2 1d02h 00:03:43 10.23.4.40 \ No newline at end of file diff --git a/src/genie/libs/parser/nxos/tests/ShowIpv6MldGroups/cli/equal/golden_output_expected.py b/src/genie/libs/parser/nxos/tests/ShowIpv6MldGroups/cli/equal/golden_output_expected.py new file mode 100644 index 0000000000..ce2f9e751b --- /dev/null +++ b/src/genie/libs/parser/nxos/tests/ShowIpv6MldGroups/cli/equal/golden_output_expected.py @@ -0,0 +1,49 @@ +expected_output = { + "vrfs":{ + "MCAST_VRF_A":{ + "groups_count":4, + "interface":{ + "Vlan20":{ + "group":{ + "ff04:230:11:1::1":{ + "type":"d", + "expire":"00:03:50", + "up_time":"23:20:22", + "last_reporter":"fe80::10:22:1:10" + }, + "ff3e:232:11:1::1":{ + "source":{ + "10:11:1::10":{ + "type":"d", + "expire":"00:03:50", + "up_time":"23:20:22", + "last_reporter":"fe80::10:22:1:20" + } + } + } + } + }, + "Vlan2":{ + "group":{ + "ff04:230:11:1::1":{ + "type":"d", + "expire":"00:02:36", + "up_time":"23:20:22", + "last_reporter":"fe80::10:23:4:30" + }, + "ff3e:232:11:1::1":{ + "source":{ + "10:11:1::10":{ + "type":"d", + "expire":"00:02:36", + "up_time":"23:20:22", + "last_reporter":"fe80::10:23:4:40" + } + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/src/genie/libs/parser/nxos/tests/ShowIpv6MldGroups/cli/equal/golden_output_output.txt b/src/genie/libs/parser/nxos/tests/ShowIpv6MldGroups/cli/equal/golden_output_output.txt new file mode 100644 index 0000000000..e347cdcb5d --- /dev/null +++ b/src/genie/libs/parser/nxos/tests/ShowIpv6MldGroups/cli/equal/golden_output_output.txt @@ -0,0 +1,9 @@ +MLD Connected Group Membership for VRF "MCAST_VRF_A" - 4 total entries +Type: S - Static, D - Dynamic, L - Local, T - SSM Translated, H - Host Proxy + * - Cache Only +Group Address Type Interface Uptime Expires Last Reporter +ff04:230:11:1::1 D Vlan20 23:20:22 00:03:50 fe80::10:22:1:10 +ff04:230:11:1::1 D Vlan2 23:20:22 00:02:36 fe80::10:23:4:30 +ff3e:232:11:1::1 + 10:11:1::10 D Vlan20 23:20:22 00:03:50 fe80::10:22:1:20 + 10:11:1::10 D Vlan2 23:20:22 00:02:36 fe80::10:23:4:40 \ No newline at end of file diff --git a/src/genie/libs/parser/nxos/tests/ShowPimRp/cli/empty/empty_output_output.txt b/src/genie/libs/parser/nxos/tests/ShowPimRp/cli/empty/empty_output_output.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/genie/libs/parser/nxos/tests/ShowPimRp/cli/equal/golden_output_arguments.json b/src/genie/libs/parser/nxos/tests/ShowPimRp/cli/equal/golden_output_arguments.json new file mode 100644 index 0000000000..07188eaa73 --- /dev/null +++ b/src/genie/libs/parser/nxos/tests/ShowPimRp/cli/equal/golden_output_arguments.json @@ -0,0 +1,4 @@ +{ + "af": "ip", + "vrf": "all" +} \ No newline at end of file diff --git a/src/genie/libs/parser/nxos/tests/ShowPimRp/cli/equal/golden_output_expected.py b/src/genie/libs/parser/nxos/tests/ShowPimRp/cli/equal/golden_output_expected.py new file mode 100644 index 0000000000..7fd19f560d --- /dev/null +++ b/src/genie/libs/parser/nxos/tests/ShowPimRp/cli/equal/golden_output_expected.py @@ -0,0 +1,38 @@ +expected_output = { + "vrf": { + "default": { + "address_family": { + "ipv4": { + "rp": { + "rp_list": { + "22.22.22.22 SM static": { + "address": "22.22.22.22", + "info_source_type": "static", + "up_time": "00:29:22", + "df_ordinal": 0, + "priority": 255, + "mode": "SM", + "group_ranges": "225.0.0.0/8" + } + }, + "static_rp": { + "22.22.22.22": { + "sm": { + "policy_name": "225.0.0.0/8" + } + } + }, + "rp_mappings": { + "225.0.0.0/8 22.22.22.22 static": { + "rp_address": "22.22.22.22", + "protocol": "static", + "group": "225.0.0.0/8", + "up_time": "00:29:22" + } + } + } + } + } + } + } +} diff --git a/src/genie/libs/parser/nxos/tests/ShowPimRp/cli/equal/golden_output_output.txt b/src/genie/libs/parser/nxos/tests/ShowPimRp/cli/equal/golden_output_output.txt new file mode 100644 index 0000000000..1df821a5c8 --- /dev/null +++ b/src/genie/libs/parser/nxos/tests/ShowPimRp/cli/equal/golden_output_output.txt @@ -0,0 +1,14 @@ +PIM RP Status Information for VRF "default" +BSR disabled +Auto-RP disabled +BSR RP Candidate policy: None +BSR RP policy: None +Auto-RP Announce policy: None +Auto-RP Discovery policy: None + +RP: 22.22.22.22, (0), +uptime: 00:29:22 priority: 255, +RP-source: (local), Null-Register Packing disabled + +group ranges: +225.0.0.0/8 \ No newline at end of file diff --git a/src/genie/libs/parser/utils/common.py b/src/genie/libs/parser/utils/common.py index c5fe87c0eb..7d5146fbf7 100644 --- a/src/genie/libs/parser/utils/common.py +++ b/src/genie/libs/parser/utils/common.py @@ -202,7 +202,7 @@ def get_parser_exclude(command, device): return [] -def get_parser(command, device, fuzzy=False, abstract=None, **kwargs): +def get_parser(command, device, fuzzy=False, revision=None, abstract=None, **kwargs): '''From a show command and device, return parser class and kwargs if any''' global parser_data @@ -216,6 +216,12 @@ def get_parser(command, device, fuzzy=False, abstract=None, **kwargs): if abstract: tokens.update(abstract) + revision = revision or tokens.get('revision') + if revision and not isinstance(revision, list): + revision = [revision] + if revision: + tokens['revision'] = revision + results = _fuzzy_search_command(command, fuzzy, tokens) valid_results = [] @@ -304,7 +310,7 @@ def _fuzzy_search_command(search, search = search.lstrip('^').rstrip('$').replace(r'\ ', ' ').replace( r'\-', '-').replace('\\"', '"').replace('\\,', ',').replace( '\\\'', '\'').replace('\\*', '*').replace('\\:', ':').replace( - '\\^', '^').replace('\\/', '/') + '\\^', '^').replace('\\/', '/').replace('\\(', '(').replace('\\)', ')') # Fix search to remove extra spaces search = ' '.join(filter(None, search.split())) @@ -431,6 +437,8 @@ def _is_regular_token(token): candidate = candidate.replace(',', '') candidate = candidate.replace(r'\.', '') candidate = candidate.replace(r'\|', '') + candidate = candidate.replace('(', '') + candidate = candidate.replace(')', '') token_is_regular = candidate.isalnum() or candidate == '' diff --git a/src/genie/libs/parser/utils/tests/test_fuzzy_regex_search_command.py b/src/genie/libs/parser/utils/tests/test_fuzzy_regex_search_command.py index 13238526d4..00b9cf4081 100755 --- a/src/genie/libs/parser/utils/tests/test_fuzzy_regex_search_command.py +++ b/src/genie/libs/parser/utils/tests/test_fuzzy_regex_search_command.py @@ -117,6 +117,10 @@ def test_matching_arguments(self): 'show {one} blue abc {arg} bgp {a} {b}', {}, True)[0], {'one': 'red', 'arg': 'arg', 'a': 'w', 'b': 'w'}) + self.assertEqual(common._matches_fuzzy(0, 0, 'show version get_args(abc)'.split(), + 'show version get_args({args})', {}, True)[0], + {'args': 'abc'}) + def test_matching_negative(self): self.assertIsNone(common._matches_fuzzy(0, 0, 'sh ver blue'.split(), 'show version {arg} {b}', {}, False)) diff --git a/src/genie/libs/parser/viptela/show_control.py b/src/genie/libs/parser/viptela/show_control.py index cb67f213aa..2e81ebf97f 100644 --- a/src/genie/libs/parser/viptela/show_control.py +++ b/src/genie/libs/parser/viptela/show_control.py @@ -69,12 +69,18 @@ def cli(self, output=None): # ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- # vsmart dtls 1.1.1.3 4294937295 1 10.0.2.162 12646 100.0.0.3 12646 Cisco blue No up 14:12:19:13 0 # vsmart dtls 1.1.1.3 4294937295 1 10.0.2.162 12646 100.0.0.3 12646 Cisco green No up 14:12:19:02 0 + # + # + # Parser handles fully populated uptime values for long uptimes and more than single digit controller group ids + # vsmart dtls 10.8.1.82 1001 1 10.0.111.82 12346 10.0.111.82 12346 Cisco-SDWAN blue No up 90:20:54:2810 + # vsmart dtls 10.8.1.82 1001 1 10.0.111.82 12346 10.0.111.82 12346 Cisco-SDWAN green No up 90:20:54:2610 + # vmanage dtls 10.8.1.85 1001 0 10.0.111.85 12346 10.0.111.85 12346 Cisco-SDWAN private1 No up 90:20:54:300 p1 = re.compile(r"ORGANIZATION{1}") m = p1.search(out) if m: # cEdge starting 17.04 onward # vsmart dtls 1.1.1.5 4294950463 1 10.0.5.64 12346 34.250.253.50 12346 SDWAN-VIPTELA - 249781 custom1 No up 24:22:07:45 0 - p1 = re.compile(r"(?P\w+)\s+(?P\w+)\s+(?P\S+)\s+(?P\d+)\s+(?P\d+)\s+(?P\S+)\s+(?P\S+)\s+(?P\S+)\s+(?P\d+)\s+(?P(.*?)(?=\s{2}))\s+(?P\S+)\s+(?P\S+)\s+(?P\S+)\s+(?P\S+)\s+(?P\S+)") + p1 = re.compile(r"(?P\w+)\s+(?P\w+)\s+(?P\S+)\s+(?P\d+)\s+(?P\d+)\s+(?P\S+)\s+(?P\S+)\s+(?P\S+)\s+(?P\d+)\s+((?P(.*?)(?=\s{2}))\s+)?(?P\S+)\s+(?P\S+)\s+(?P\S+)\s+(?P\d+:\d+:\d+:\d{2})(\s+)?(?P\S+)") keys.insert(8, "peer_organization") else: # vEdge & cEdge prior to 17.04 diff --git a/src/genie/libs/parser/viptela/show_omp.py b/src/genie/libs/parser/viptela/show_omp.py index 80a037352c..4f3e3e853d 100644 --- a/src/genie/libs/parser/viptela/show_omp.py +++ b/src/genie/libs/parser/viptela/show_omp.py @@ -165,10 +165,12 @@ class ShowOmpPeersSchema(MetaParser): schema = { 'peer': { Any(): { + Optional('tenant'): str, 'type': str, 'domain_id': int, 'overlay_id': int, 'site_id': int, + Optional('region_id'): str, 'state': str, 'uptime': str, 'route': { @@ -199,7 +201,13 @@ def cli(self, output=None): # 10.4.1.5 vsmart 1 1 4294945506up 27:03:26:37 4012/0/4012 # 10.1.1.1 vedge 1 1 10001985 up 1:23:10:51 884/0/236 - p1 = re.compile(r'^(?P\d\S+)\s+(?P\S+)\s+(?P\S+)\s+(?P\S+)\s+(?P\d+)\s*(?P\S+)\s+(?P\S+)\s+(?P\S+)$') + # + # + # TENANT DOMAIN OVERLAY SITE REGION + # ID PEER TYPE ID ID ID ID STATE UPTIME R/I/S + # ----------------------------------------------------------------------------------------------------------------- + # 0 10.8.1.82 vsmart 1 1 1001 None up 90:18:43:59 61/37/24 + p1 = re.compile(r'^((?P\d+)\s+)?(?P\d\S+)\s+(?P\S+)\s+(?P\S+)\s+(?P\S+)\s+(?P\d+)(\s+)?((?P\w+)\s+)?(?P\S+)\s+(?P\S+)\s+(?P\S+)$') for line in out.splitlines(): line = line.strip() @@ -208,10 +216,14 @@ def cli(self, output=None): if m: groups = m.groupdict() peer_info = peer_dict.setdefault('peer', {}).setdefault(groups['ip_add'], {}) + if groups['tenant']: + peer_info.update({'tenant': groups['tenant']}) peer_info.update({'type': groups['type']}) peer_info.update({'domain_id': int(groups['domain_id'])}) peer_info.update({'overlay_id': int(groups['overlay_id'])}) peer_info.update({'site_id': int(groups['site_id'])}) + if groups['region_id']: + peer_info.update({'region_id': groups['region_id']}) peer_info.update({'state': groups['state']}) peer_info.update({'uptime': groups['uptime']}) diff --git a/src/genie/libs/parser/viptela/show_routing.py b/src/genie/libs/parser/viptela/show_routing.py index 1f94f9c85d..5c4bac89b1 100644 --- a/src/genie/libs/parser/viptela/show_routing.py +++ b/src/genie/libs/parser/viptela/show_routing.py @@ -83,7 +83,9 @@ def cli(self, prefix=None, vpn=None, output=None): # VPN PREFIX PROTOCOL SUB TYPE IF NAME ADDR VPN TLOC IP COLOR ENCAP STATUS # --------------------------------------------------------------------------------------------------------------------------------------------- # 0 0.0.0.0/0 static - ge2/3 19.75.2.192 - - - - F,S - p1 = re.compile(r'(?P\d+)\s+(?P[\d\.\/]+)\s+(?P\S+)\s+(?P\S+)\s+(?P\S+)\s+(?P[\d\.\/]+|-)\s+(?P\S+)\s+(?P[\d\.\/]+|-)\s+(?P\S+)\s+(?P\S+)\s+(?P\S+)') + # + # 65528 192.168.0.0/24 connected - loopback65528- - - - - F,S + p1 = re.compile(r'(?P\d+)\s+(?P[\d\.\/]+)\s+(?P\S+)\s+(?P\S+)\s+(?P[^\s-]+(?:-[^\s-]+)*|-)(\s+)?(?P[\d\.\/]+|-)\s+(?P\S+)\s+(?P[\d\.\/]+|-)\s+(?P\S+)\s+(?P\S+)\s+(?P\S+)') index = 1 diff --git a/src/genie/libs/parser/viptela/show_system.py b/src/genie/libs/parser/viptela/show_system.py index 3fac5b92b3..30b8c32593 100644 --- a/src/genie/libs/parser/viptela/show_system.py +++ b/src/genie/libs/parser/viptela/show_system.py @@ -139,6 +139,7 @@ def cli(self, output=None): # Last reboot: Initiated by user - activate 99.99.999-4567. # CPU-reported reboot: Not Applicable # Boot loader version: Not applicable + # Boot loader version: U-Boot 2013.07-g6c63781 (Build time: Aug 10 2023 - 08:06:08) # System uptime: 0 days 21 hrs 35 min 28 sec # Current time: Thu Aug 06 02:49:25 PDT 2020 # Processes: 250 total @@ -149,8 +150,7 @@ def cli(self, output=None): # Commit pending: false # Configuration template: CLItemplate_srp_vedge # Chassis serial number: None - p10 = re.compile(r'^(?P.*):\s+(?P.*)$') - + p10 = re.compile(r'^(?P.*?):\s+(?P.*)$') for line in output.splitlines(): line = line.strip() diff --git a/src/genie/libs/parser/viptela/tests/ShowControlConnections/cli/equal/golden_output3_expected.py b/src/genie/libs/parser/viptela/tests/ShowControlConnections/cli/equal/golden_output3_expected.py new file mode 100644 index 0000000000..57b52eebdc --- /dev/null +++ b/src/genie/libs/parser/viptela/tests/ShowControlConnections/cli/equal/golden_output3_expected.py @@ -0,0 +1,133 @@ +expected_output = { + 'local_color': { + 'biz-internet': { + 'peer_system_ip': { + '10.8.1.82': { + 'controller_group_id': '10', + 'domain_id': '1', + 'peer_organization': 'Cisco-SDWAN', + 'peer_private_ip': '10.0.111.82', + 'peer_private_port': '12346', + 'peer_protocol': 'dtls', + 'peer_public_ip': '10.0.111.82', + 'peer_public_port': '12346', + 'peer_type': 'vsmart', + 'proxy_state': 'No', + 'site_id': '1001', + 'state': 'up', + 'uptime': '90:19:41:43' + } + } + }, + 'blue': { + 'peer_system_ip': { + '10.8.1.82': { + 'controller_group_id': '10', + 'domain_id': '1', + 'peer_organization': 'Cisco-SDWAN', + 'peer_private_ip': '10.0.111.82', + 'peer_private_port': '12346', + 'peer_protocol': 'dtls', + 'peer_public_ip': '10.0.111.82', + 'peer_public_port': '12346', + 'peer_type': 'vsmart', + 'proxy_state': 'No', + 'site_id': '1001', + 'state': 'up', + 'uptime': '90:19:42:16' + } + } + }, + 'green': { + 'peer_system_ip': { + '10.8.1.82': { + 'controller_group_id': '10', + 'domain_id': '1', + 'peer_organization': 'Cisco-SDWAN', + 'peer_private_ip': '10.0.111.82', + 'peer_private_port': '12346', + 'peer_protocol': 'dtls', + 'peer_public_ip': '10.0.111.82', + 'peer_public_port': '12346', + 'peer_type': 'vsmart', + 'proxy_state': 'No', + 'site_id': '1001', + 'state': 'up', + 'uptime': '90:19:42:14' + } + } + }, + 'private1': { + 'peer_system_ip': { + '10.8.1.82': { + 'controller_group_id': '10', + 'domain_id': '1', + 'peer_organization': 'Cisco-SDWAN', + 'peer_private_ip': '10.0.111.82', + 'peer_private_port': '12346', + 'peer_protocol': 'dtls', + 'peer_public_ip': '10.0.111.82', + 'peer_public_port': '12346', + 'peer_type': 'vsmart', + 'proxy_state': 'No', + 'site_id': '1001', + 'state': 'up', + 'uptime': '90:19:42:20' + }, + '10.8.1.85': { + 'controller_group_id': '0', + 'domain_id': '0', + 'peer_organization': 'Cisco-SDWAN', + 'peer_private_ip': '10.0.111.85', + 'peer_private_port': '12346', + 'peer_protocol': 'dtls', + 'peer_public_ip': '10.0.111.85', + 'peer_public_port': '12346', + 'peer_type': 'vmanage', + 'proxy_state': 'No', + 'site_id': '1001', + 'state': 'up', + 'uptime': '90:19:42:18' + } + } + }, + 'private2': { + 'peer_system_ip': { + '10.8.1.82': { + 'controller_group_id': '10', + 'domain_id': '1', + 'peer_organization': 'Cisco-SDWAN', + 'peer_private_ip': '10.0.111.82', + 'peer_private_port': '12346', + 'peer_protocol': 'dtls', + 'peer_public_ip': '10.0.111.82', + 'peer_public_port': '12346', + 'peer_type': 'vsmart', + 'proxy_state': 'No', + 'site_id': '1001', + 'state': 'up', + 'uptime': '90:19:42:22' + } + } + }, + 'public-internet': { + 'peer_system_ip': { + '10.8.1.82': { + 'controller_group_id': '10', + 'domain_id': '1', + 'peer_organization': 'Cisco-SDWAN', + 'peer_private_ip': '10.0.111.82', + 'peer_private_port': '12346', + 'peer_protocol': 'dtls', + 'peer_public_ip': '10.0.111.82', + 'peer_public_port': '12346', + 'peer_type': 'vsmart', + 'proxy_state': 'No', + 'site_id': '1001', + 'state': 'up', + 'uptime': '90:19:42:04' + } + } + } + } +} \ No newline at end of file diff --git a/src/genie/libs/parser/viptela/tests/ShowControlConnections/cli/equal/golden_output3_output.txt b/src/genie/libs/parser/viptela/tests/ShowControlConnections/cli/equal/golden_output3_output.txt new file mode 100644 index 0000000000..dfb61a9a1e --- /dev/null +++ b/src/genie/libs/parser/viptela/tests/ShowControlConnections/cli/equal/golden_output3_output.txt @@ -0,0 +1,13 @@ + + vEdge# show control connections + PEER PEER CONTROLLER + PEER PEER PEER SITE DOMAIN PEER PRIV PEER PUB GROUP + TYPE PROT SYSTEM IP ID ID PRIVATE IP PORT PUBLIC IP PORT ORGANIZATION LOCAL COLOR PROXY STATE UPTIME ID + ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + vsmart dtls 10.8.1.82 1001 1 10.0.111.82 12346 10.0.111.82 12346 Cisco-SDWAN public-internet No up 90:19:42:0410 + vsmart dtls 10.8.1.82 1001 1 10.0.111.82 12346 10.0.111.82 12346 Cisco-SDWAN biz-internet No up 90:19:41:4310 + vsmart dtls 10.8.1.82 1001 1 10.0.111.82 12346 10.0.111.82 12346 Cisco-SDWAN private1 No up 90:19:42:2010 + vsmart dtls 10.8.1.82 1001 1 10.0.111.82 12346 10.0.111.82 12346 Cisco-SDWAN private2 No up 90:19:42:2210 + vsmart dtls 10.8.1.82 1001 1 10.0.111.82 12346 10.0.111.82 12346 Cisco-SDWAN blue No up 90:19:42:1610 + vsmart dtls 10.8.1.82 1001 1 10.0.111.82 12346 10.0.111.82 12346 Cisco-SDWAN green No up 90:19:42:1410 + vmanage dtls 10.8.1.85 1001 0 10.0.111.85 12346 10.0.111.85 12346 Cisco-SDWAN private1 No up 90:19:42:180 \ No newline at end of file diff --git a/src/genie/libs/parser/viptela/tests/ShowIpRoutes/cli/equal/golden_output5_expected.py b/src/genie/libs/parser/viptela/tests/ShowIpRoutes/cli/equal/golden_output5_expected.py new file mode 100644 index 0000000000..88accae2c9 --- /dev/null +++ b/src/genie/libs/parser/viptela/tests/ShowIpRoutes/cli/equal/golden_output5_expected.py @@ -0,0 +1,444 @@ +expected_output = { + 'vrf': { + '0': { + 'prefixes': { + '0.0.0.0/0': { + 'next_hop_list': { + 1: { + 'color': '-', + 'encap': '-', + 'index': 1, + 'nh_addr': '10.96.4.2', + 'nh_if_name': '10ge0/0', + 'nh_vpn': '-', + 'status': ['F', 'S'], + 'tloc_ip': '-', + }, + 2: { + 'color': '-', + 'encap': '-', + 'index': 2, + 'nh_addr': '10.96.4.9', + 'nh_if_name': '10ge0/1', + 'nh_vpn': '-', + 'status': ['F', 'S'], + 'tloc_ip': '-', + }, + }, + 'prefix': '0.0.0.0/0', + 'protocol': 'static', + 'protocol_sub_type': '-', + }, + '10.1.1.65/32': { + 'next_hop_list': { + 1: { + 'color': '-', + 'encap': '-', + 'index': 1, + 'nh_addr': '-', + 'nh_if_name': 'system', + 'nh_vpn': '-', + 'status': ['F', 'S'], + 'tloc_ip': '-', + }, + }, + 'prefix': '10.1.1.65/32', + 'protocol': 'connected', + 'protocol_sub_type': '-', + }, + '10.96.4.2/31': { + 'next_hop_list': { + 1: { + 'color': '-', + 'encap': '-', + 'index': 1, + 'nh_addr': '-', + 'nh_if_name': '10ge0/0', + 'nh_vpn': '-', + 'status': ['F', 'S'], + 'tloc_ip': '-', + }, + }, + 'prefix': '10.96.4.2/31', + 'protocol': 'connected', + 'protocol_sub_type': '-', + }, + '10.96.4.8/31': { + 'next_hop_list': { + 1: { + 'color': '-', + 'encap': '-', + 'index': 1, + 'nh_addr': '-', + 'nh_if_name': '10ge0/1', + 'nh_vpn': '-', + 'status': ['F', 'S'], + 'tloc_ip': '-', + }, + }, + 'prefix': '10.96.4.8/31', + 'protocol': 'connected', + 'protocol_sub_type': '-', + }, + }, + }, + '1': { + 'prefixes': { + '0.0.0.0/0': { + 'next_hop_list': { + 1: { + 'color': 'biz-internet', + 'encap': 'ipsec', + 'index': 1, + 'nh_addr': '-', + 'nh_if_name': '-', + 'nh_vpn': '-', + 'status': ['F', 'S'], + 'tloc_ip': '10.1.1.68', + }, + 2: { + 'color': 'public-internet', + 'encap': 'ipsec', + 'index': 2, + 'nh_addr': '-', + 'nh_if_name': '-', + 'nh_vpn': '-', + 'status': ['F', 'S'], + 'tloc_ip': '10.1.1.68', + }, + 3: { + 'color': 'green', + 'encap': 'ipsec', + 'index': 3, + 'nh_addr': '-', + 'nh_if_name': '-', + 'nh_vpn': '-', + 'status': ['F', 'S'], + 'tloc_ip': '10.1.1.68', + }, + }, + 'prefix': '0.0.0.0/0', + 'protocol': 'omp', + 'protocol_sub_type': '-', + }, + '10.1.1.63/32': { + 'next_hop_list': { + 1: { + 'color': '-', + 'encap': '-', + 'index': 1, + 'nh_addr': '10.26.1.7', + 'nh_if_name': 'ge2/1', + 'nh_vpn': '-', + 'status': ['F', 'S'], + 'tloc_ip': '-', + }, + }, + 'prefix': '10.1.1.63/32', + 'protocol': 'ospf', + 'protocol_sub_type': 'IA', + }, + '10.1.1.64/32': { + 'next_hop_list': { + 1: { + 'color': '-', + 'encap': '-', + 'index': 1, + 'nh_addr': '10.26.1.5', + 'nh_if_name': 'ge2/0', + 'nh_vpn': '-', + 'status': ['F', 'S'], + 'tloc_ip': '-', + }, + }, + 'prefix': '10.1.1.64/32', + 'protocol': 'ospf', + 'protocol_sub_type': 'IA', + }, + '10.1.1.65/32': { + 'next_hop_list': { + 1: { + 'color': '-', + 'encap': '-', + 'index': 1, + 'nh_addr': '-', + 'nh_if_name': 'loopback0', + 'nh_vpn': '-', + 'status': ['-'], + 'tloc_ip': '-', + }, + 2: { + 'color': '-', + 'encap': '-', + 'index': 2, + 'nh_addr': '-', + 'nh_if_name': 'loopback0', + 'nh_vpn': '-', + 'status': ['F', 'S'], + 'tloc_ip': '-', + }, + }, + 'prefix': '10.1.1.65/32', + 'protocol': 'connected', + 'protocol_sub_type': '-', + }, + '10.1.1.72/32': { + 'next_hop_list': { + 1: { + 'color': 'public-internet', + 'encap': 'ipsec', + 'index': 1, + 'nh_addr': '-', + 'nh_if_name': '-', + 'nh_vpn': '-', + 'status': ['F', 'S'], + 'tloc_ip': '10.1.1.72', + }, + 2: { + 'color': 'green', + 'encap': 'ipsec', + 'index': 2, + 'nh_addr': '-', + 'nh_if_name': '-', + 'nh_vpn': '-', + 'status': ['F', 'S'], + 'tloc_ip': '10.1.1.72', + }, + }, + 'prefix': '10.1.1.72/32', + 'protocol': 'omp', + 'protocol_sub_type': '-', + }, + '10.1.1.73/32': { + 'next_hop_list': { + 1: { + 'color': 'public-internet', + 'encap': 'ipsec', + 'index': 1, + 'nh_addr': '-', + 'nh_if_name': '-', + 'nh_vpn': '-', + 'status': ['F', 'S'], + 'tloc_ip': '10.1.1.72', + }, + 2: { + 'color': 'green', + 'encap': 'ipsec', + 'index': 2, + 'nh_addr': '-', + 'nh_if_name': '-', + 'nh_vpn': '-', + 'status': ['F', 'S'], + 'tloc_ip': '10.1.1.72', + }, + }, + 'prefix': '10.1.1.73/32', + 'protocol': 'omp', + 'protocol_sub_type': '-', + }, + '10.26.1.0/31': { + 'next_hop_list': { + 1: { + 'color': '-', + 'encap': '-', + 'index': 1, + 'nh_addr': '10.26.1.5', + 'nh_if_name': 'ge2/0', + 'nh_vpn': '-', + 'status': ['F', 'S'], + 'tloc_ip': '-', + }, + }, + 'prefix': '10.26.1.0/31', + 'protocol': 'ospf', + 'protocol_sub_type': 'IA', + }, + '10.26.1.2/31': { + 'next_hop_list': { + 1: { + 'color': '-', + 'encap': '-', + 'index': 1, + 'nh_addr': '10.26.1.7', + 'nh_if_name': 'ge2/1', + 'nh_vpn': '-', + 'status': ['F', 'S'], + 'tloc_ip': '-', + }, + }, + 'prefix': '10.26.1.2/31', + 'protocol': 'ospf', + 'protocol_sub_type': 'IA', + }, + '10.26.1.4/31': { + 'next_hop_list': { + 1: { + 'color': '-', + 'encap': '-', + 'index': 1, + 'nh_addr': '-', + 'nh_if_name': 'ge2/0', + 'nh_vpn': '-', + 'status': ['-'], + 'tloc_ip': '-', + }, + 2: { + 'color': '-', + 'encap': '-', + 'index': 2, + 'nh_addr': '-', + 'nh_if_name': 'ge2/0', + 'nh_vpn': '-', + 'status': ['F', 'S'], + 'tloc_ip': '-', + }, + }, + 'prefix': '10.26.1.4/31', + 'protocol': 'connected', + 'protocol_sub_type': '-', + }, + '10.26.1.6/31': { + 'next_hop_list': { + 1: { + 'color': '-', + 'encap': '-', + 'index': 1, + 'nh_addr': '-', + 'nh_if_name': 'ge2/1', + 'nh_vpn': '-', + 'status': ['-'], + 'tloc_ip': '-', + }, + 2: { + 'color': '-', + 'encap': '-', + 'index': 2, + 'nh_addr': '-', + 'nh_if_name': 'ge2/1', + 'nh_vpn': '-', + 'status': ['F', 'S'], + 'tloc_ip': '-', + }, + }, + 'prefix': '10.26.1.6/31', + 'protocol': 'connected', + 'protocol_sub_type': '-', + }, + '10.26.6.0/24': { + 'next_hop_list': { + 1: { + 'color': '-', + 'encap': '-', + 'index': 1, + 'nh_addr': '10.26.1.5', + 'nh_if_name': 'ge2/0', + 'nh_vpn': '-', + 'status': ['F', 'S'], + 'tloc_ip': '-', + }, + }, + 'prefix': '10.26.6.0/24', + 'protocol': 'ospf', + 'protocol_sub_type': 'IA', + }, + }, + }, + '512': { + 'prefixes': { + '0.0.0.0/0': { + 'next_hop_list': { + 1: { + 'color': '-', + 'encap': '-', + 'index': 1, + 'nh_addr': '10.8.1.1', + 'nh_if_name': 'mgmt0', + 'nh_vpn': '-', + 'status': ['F', 'S'], + 'tloc_ip': '-', + }, + }, + 'prefix': '0.0.0.0/0', + 'protocol': 'static', + 'protocol_sub_type': '-', + }, + '10.8.1.0/24': { + 'next_hop_list': { + 1: { + 'color': '-', + 'encap': '-', + 'index': 1, + 'nh_addr': '-', + 'nh_if_name': 'mgmt0', + 'nh_vpn': '-', + 'status': ['F', 'S'], + 'tloc_ip': '-', + }, + }, + 'prefix': '10.8.1.0/24', + 'protocol': 'connected', + 'protocol_sub_type': '-', + }, + }, + }, + '65528': { + 'prefixes': { + '192.168.0.0/24': { + 'next_hop_list': { + 1: { + 'color': '-', + 'encap': '-', + 'index': 1, + 'nh_addr': '-', + 'nh_if_name': 'loopback65528', + 'nh_vpn': '-', + 'status': ['F', 'S'], + 'tloc_ip': '-', + }, + }, + 'prefix': '192.168.0.0/24', + 'protocol': 'connected', + 'protocol_sub_type': '-', + }, + }, + }, + '65530': { + 'prefixes': { + '192.168.0.0/24': { + 'next_hop_list': { + 2: { + 'color': '-', + 'encap': '-', + 'index': 2, + 'nh_addr': '-', + 'nh_if_name': 'loopback65530', + 'nh_vpn': '-', + 'status': ['F', 'S'], + 'tloc_ip': '-', + }, + }, + 'prefix': '192.168.0.0/24', + 'protocol': 'connected', + 'protocol_sub_type': '-', + }, + '192.168.1.0/24': { + 'next_hop_list': { + 1: { + 'color': '-', + 'encap': '-', + 'index': 1, + 'nh_addr': '-', + 'nh_if_name': 'loopback65531', + 'nh_vpn': '-', + 'status': ['F', 'S'], + 'tloc_ip': '-', + }, + }, + 'prefix': '192.168.1.0/24', + 'protocol': 'connected', + 'protocol_sub_type': '-', + }, + }, + }, + }, +} \ No newline at end of file diff --git a/src/genie/libs/parser/viptela/tests/ShowIpRoutes/cli/equal/golden_output5_output.txt b/src/genie/libs/parser/viptela/tests/ShowIpRoutes/cli/equal/golden_output5_output.txt new file mode 100644 index 0000000000..25541b3fae --- /dev/null +++ b/src/genie/libs/parser/viptela/tests/ShowIpRoutes/cli/equal/golden_output5_output.txt @@ -0,0 +1,41 @@ +vedge# show ip routes +Codes Proto-sub-type: + IA -> ospf-intra-area, IE -> ospf-inter-area, + E1 -> ospf-external1, E2 -> ospf-external2, + N1 -> ospf-nssa-external1, N2 -> ospf-nssa-external2, + e -> bgp-external, i -> bgp-internal +Codes Status flags: + F -> fib, S -> selected, I -> inactive, + B -> blackhole, R -> recursive, L -> import + + PROTOCOL NEXTHOP NEXTHOP NEXTHOP +VPN PREFIX PROTOCOL SUB TYPE IF NAME ADDR VPN TLOC IP COLOR ENCAP STATUS +--------------------------------------------------------------------------------------------------------------------------------------------- +0 0.0.0.0/0 static - 10ge0/0 10.96.4.2 - - - - F,S +0 0.0.0.0/0 static - 10ge0/1 10.96.4.9 - - - - F,S +0 10.1.1.65/32 connected - system - - - - - F,S +0 10.96.4.2/31 connected - 10ge0/0 - - - - - F,S +0 10.96.4.8/31 connected - 10ge0/1 - - - - - F,S +1 0.0.0.0/0 omp - - - - 10.1.1.68 biz-internet ipsec F,S +1 0.0.0.0/0 omp - - - - 10.1.1.68 public-internet ipsec F,S +1 0.0.0.0/0 omp - - - - 10.1.1.68 green ipsec F,S +1 10.1.1.63/32 ospf IA ge2/1 10.26.1.7 - - - - F,S +1 10.1.1.64/32 ospf IA ge2/0 10.26.1.5 - - - - F,S +1 10.1.1.65/32 ospf IA loopback0 - - - - - - +1 10.1.1.65/32 connected - loopback0 - - - - - F,S +1 10.1.1.72/32 omp - - - - 10.1.1.72 public-internet ipsec F,S +1 10.1.1.72/32 omp - - - - 10.1.1.72 green ipsec F,S +1 10.1.1.73/32 omp - - - - 10.1.1.72 public-internet ipsec F,S +1 10.1.1.73/32 omp - - - - 10.1.1.72 green ipsec F,S +1 10.26.1.0/31 ospf IA ge2/0 10.26.1.5 - - - - F,S +1 10.26.1.2/31 ospf IA ge2/1 10.26.1.7 - - - - F,S +1 10.26.1.4/31 ospf IA ge2/0 - - - - - - +1 10.26.1.4/31 connected - ge2/0 - - - - - F,S +1 10.26.1.6/31 ospf IA ge2/1 - - - - - - +1 10.26.1.6/31 connected - ge2/1 - - - - - F,S +1 10.26.6.0/24 ospf IA ge2/0 10.26.1.5 - - - - F,S +512 0.0.0.0/0 static - mgmt0 10.8.1.1 - - - - F,S +512 10.8.1.0/24 connected - mgmt0 - - - - - F,S +65528 192.168.0.0/24 connected - loopback65528- - - - - F,S +65530 192.168.0.0/24 connected - loopback65530- - - - - F,S +65530 192.168.1.0/24 connected - loopback65531- - - - - F,S \ No newline at end of file diff --git a/src/genie/libs/parser/viptela/tests/ShowOmpPeers/cli/equal/golden_output2_expected.py b/src/genie/libs/parser/viptela/tests/ShowOmpPeers/cli/equal/golden_output2_expected.py new file mode 100644 index 0000000000..1a72c42c5a --- /dev/null +++ b/src/genie/libs/parser/viptela/tests/ShowOmpPeers/cli/equal/golden_output2_expected.py @@ -0,0 +1,15 @@ +expected_output = { + 'peer': { + '10.8.1.82': { + 'domain_id': 1, + 'overlay_id': 1, + 'region_id': 'None', + 'route': {'install': 37, 'recv': 61, 'sent': 24}, + 'site_id': 1001, + 'state': 'up', + 'tenant': '0', + 'type': 'vsmart', + 'uptime': '90:21:24:08' + } + } +} \ No newline at end of file diff --git a/src/genie/libs/parser/viptela/tests/ShowOmpPeers/cli/equal/golden_output2_output.txt b/src/genie/libs/parser/viptela/tests/ShowOmpPeers/cli/equal/golden_output2_output.txt new file mode 100644 index 0000000000..d4371b4641 --- /dev/null +++ b/src/genie/libs/parser/viptela/tests/ShowOmpPeers/cli/equal/golden_output2_output.txt @@ -0,0 +1,9 @@ +show sdwan omp peers +R -> routes received +I -> routes installed +S -> routes sent + +TENANT DOMAIN OVERLAY SITE REGION +ID PEER TYPE ID ID ID ID STATE UPTIME R/I/S +----------------------------------------------------------------------------------------------------------------- +0 10.8.1.82 vsmart 1 1 1001 None up 90:21:24:08 61/37/24 \ No newline at end of file diff --git a/src/genie/libs/parser/viptela/tests/ShowSystemStatus/cli/equal/golden_output4_expected.py b/src/genie/libs/parser/viptela/tests/ShowSystemStatus/cli/equal/golden_output4_expected.py new file mode 100644 index 0000000000..d59de4db3f --- /dev/null +++ b/src/genie/libs/parser/viptela/tests/ShowSystemStatus/cli/equal/golden_output4_expected.py @@ -0,0 +1,51 @@ +expected_output = { + 'boot_loader_version': 'U-Boot 2013.07-g6c63781 (Build time: Aug 10 2023 - 08:06:08)', + 'build': '13', + 'chassis_serial_number': 'None', + 'commit_pending': 'false', + 'configuration_template': 'Headend-Template', + 'cpu_allocation': { + 'control': 2, + 'data': 30, + 'total': 32 + }, + 'cpu_reported_reboot': 'Warm Reset(CHIP RESET)', + 'cpu_states': { + 'idle': 88.8, + 'system': 9.06, + 'user': 2.14 + }, + 'current_time': 'Wed Oct 16 13:25:32 EDT 2024', + 'disk_usage': { + 'avail_mega': 4685, + 'filesystem': '/dev/root', + 'mounted_on': '/', + 'size_mega': 6104, + 'use_pc': 19, + 'used_mega': 1090 + }, + 'last_reboot': 'Initiated by user - activate 20.9.5.2.13.', + 'load_average': { + 'minute_1': 0.37, + 'minute_15': 0.5, + 'minute_5': 0.41 + }, + 'memory_usage': { + 'buffers_kilo': 87320, + 'cache_kilo': 257284, + 'free_kilo': 2200720, + 'total_kilo': 5985120, + 'used_kilo': 3439796 + }, + 'model_name': 'vedge-2000', + 'personality': 'vedge', + 'processes': 305, + 'services': 'None', + 'system_fips_state': 'Enabled', + 'system_logging_disk': 'enabled', + 'system_logging_host': 'disabled', + 'system_state': 'GREEN. All daemons up', + 'system_uptime': '1 days 00 hrs 30 min 16 sec', + 'version': '20.9.5.2.13', + 'vmanaged': 'true' +} \ No newline at end of file diff --git a/src/genie/libs/parser/viptela/tests/ShowSystemStatus/cli/equal/golden_output4_output.txt b/src/genie/libs/parser/viptela/tests/ShowSystemStatus/cli/equal/golden_output4_output.txt new file mode 100644 index 0000000000..8920b4515e --- /dev/null +++ b/src/genie/libs/parser/viptela/tests/ShowSystemStatus/cli/equal/golden_output4_output.txt @@ -0,0 +1,39 @@ +show system status + +Viptela (tm) vedge Operating System Software +Copyright (c) 2013-2024 by Viptela, Inc. +Controller Compatibility: +Version: 20.9.5.2.13 +Build: 13 + + +System logging to host is disabled +System logging to disk is enabled + +System state: GREEN. All daemons up +System FIPS state: Enabled + +Last reboot: Initiated by user - activate 20.9.5.2.13. +CPU-reported reboot: Warm Reset(CHIP RESET) +Boot loader version: U-Boot 2013.07-g6c63781 (Build time: Aug 10 2023 - 08:06:08) + +System uptime: 1 days 00 hrs 30 min 16 sec +Current time: Wed Oct 16 13:25:32 EDT 2024 + +Load average: 1 minute: 0.37, 5 minutes: 0.41, 15 minutes: 0.50 +Processes: 305 total +CPU allocation: 32 total, 2 control, 30 data +CPU states: 2.14% user, 9.06% system, 88.80% idle +Memory usage: 5985120K total, 3439796K used, 2200720K free + 87320K buffers, 257284K cache + +Disk usage: Filesystem Size Used Avail Use % Mounted on + /dev/root 6104M 1090M 4685M 19% / + +Personality: vedge +Model name: vedge-2000 +Services: None +vManaged: true +Commit pending: false +Configuration template: Headend-Template +Chassis serial number: None \ No newline at end of file