diff --git a/changelog/2025/september.rst b/changelog/2025/september.rst new file mode 100644 index 0000000000..ba24f4fdce --- /dev/null +++ b/changelog/2025/september.rst @@ -0,0 +1,161 @@ +-------------------------------------------------------------------------------- + New +-------------------------------------------------------------------------------- + +* iosxe + * Added parser for ShowMonitorEventTraceCryptoIpsecEventAll + * 'show monitor event-trace crypto ipsec event all' + * Added ShowPlatformHardwareQfpActiveFeatureIpsecSa3 + * Added schema and parser for 'show platform hardware qfp active feature ipsec sa 3' + * Added ShowIdpromFantrayEepromDetail schema and parser + * Added schema and parser for show idprom fan-tray {fantray_num} eeprom detail + * Added ShowPlatformHardwareQfpActiveFeatureFirewallDrop + * show platform hardware qfp active feature firewall drop + * show platform hardware qfp active feature firewall drop all + * show platform hardware qfp active feature firewall drop clear + * show platform hardware qfp active feature firewall drop verbose + * Added ShowL2tp + * show l2tp + * Added ShowPlatformHardwareQfpActiveFeatureNatDatapathGate parser. + * Added parser for cli 'show platform hardware qfp active feature nat datapath gatein'. + * Added parser for cli 'show platform hardware qfp active feature nat datapath gateout'. + * Modified ShowInterfacesTransceiverSupportedlist + * Added new Cisco p/n min format parser for show interfaces transceiver supported list + * Added ShowMonitorEventTraceCryptoAllDetail Parser for + * Parser for 'show monitor event-trace crypto all detail' + * Added ShowMonitorEventTraceCryptoFromBoot Parser for + * Parser for 'show monitor event-trace crypto from-boot' + * Parser for 'show monitor event-trace crypto from-boot {timer}' + * Added Parser for show platform hardware cpp active system state + * Added a new schema and parser for the show platform hardware cpp active system state command. + * Supports parsing CPP system state information including component status, platform state, HA state, client state, image information, load count, active threads, and fault manager flags. + * Handles component initialization status (cpp_cp, cpp_sp, FMAN-FP, cpp_driver0). + * Parses hierarchical state information with proper data type conversion. + * Added ShowVlans + * 'show vlans ' + * Added ShowPlatformHardwareQfpActiveFeatureNatDatapathEsp schema and parser + * Added schema and parser for show platform hardware qfp active feature nat datapath esp + * Added ShowPlatformHardwareChassisRpFanSpeedControlData + * Added parser for Show Platform Hardware Chassis Rp FanSpeedControlData + * Added parser for hw-module beacon fan-tray fantray_num status + * Added ShowX25Vc parser in show_x25.py + * Added schema and parser for cli 'show x25 vc' + * Added ShowPlatformSoftwareNatFpActiveMappingStatic + * Added ShowPlatformSoftwareNatFpActiveMappingStaticSchema + * Added parser for "show platform software nat fp active mapping static" + * Added ShowCefTableConsistencyCheck parser in show_cef.py + * Added schema and parser for cli 'show cef table consistency-check' + * Added parser for ShowAlignment + * 'show alignment' + * Added ShowMkaSessionDetail + * show mka session detail + * *New** + * Added** ShowCtsCredentials *parser.** + * Added parser for cli 'show cts credentials'.** + * Added ShowRunningConfigVrf + * show running-config vrf + * Added ShowPlatformHardwareQfpActiveFeatureFirewallRuntime + * show platform hardware qfp active feature firewall runtime + * Added ShowPlatformSoftwareFirewallRPActiveZones + * sh ipv6 mfib {group} active + * Modified ShowVoiceDsp + * show voice dsp + * Added ShowPlatformHardwareQfpActiveFeatureTdDatapathStatistics parser + * Added schema and parser for 'show platform hardware qfp active feature td datapath statistics' + * Added ShowPlatformHardwareQfpActiveFeatureEvcClientL2cpActionsInterface + * 'show platform hardware qfp active feature evc client l2cp-actions interface GigabitEthernet0/0/4.EFP1' + * Added ShowRomMonitor parser in show_romvar.py + * Added schema and parser for cli 'show rom-monitor 0' + * Added ShowIpBgpNeighborReceivedPrefixFilter schema and parser + * Added schema and parser for show ip bgp neighbors {neighbor} received prefix-filter and show ip bgp {address_family} vrf {vrf} neighbors {neighbor} received prefix-filter + * Added ShowPlatformHardwareChassisFantrayDetailAll + * Added parser for "show platform hardware chassis fantray detail all" + * Added ShowPowerDetail + * Added schema and parser for'show power detail' under 9610c folder for iosxe + +* iosxr + * Added `ShowSubscriberSessionAllSummary` Parser + * Added schema and parser for `show subscriber session all summary` command. + * Added Parsers for below OSPFv3 show commands + * show ospfv3 vrf all-inclusive database ext-router + * show ospfv3 topology detail + * show ospfv3 topology prefixes + * Added Parsers for below lslib_server show commands + * show lslib server producer detail + * show lslib server producer {name} instance-id {id} + * show lslib server topology-db protocol ospfv3 instance-id {id} nlri-type node detail + * show lslib server topology-db protocol ospfv3 instance-id {id} nlri-type link detail + * show lslib server topology-db protocol ospfv3 instance-id {id} nlri-type ipv6-prefix detail + +* nxos + * Added ShowKeyChain parser. + * Added parser for cli show key chain {key_chain_name}. + * Added parser for cli show key chain {key_chain_name} detail. + + +-------------------------------------------------------------------------------- + Fix +-------------------------------------------------------------------------------- + +* iosxe + * Added fix for ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDef parser. + * Added this fix to support multiple acl_entries. + * Modified ShowInterfaceEtherchannel + * 'show interface {interface_id} etherchannel' + * Modified ShowInterfaces + * 'show interfaces Serial0/3/1' + * genie.libs.parser.iosxe.rv1.show_platform + * Added regex to parse platform output when model, hw_ver and sw_ver are N/A + * Modified ShowPolicyMapTypeInspectZonePairSessions + * 'show policy-map type inspect zone-pair sessions' + * Modified ShowPlatformPacketTracePacket + * 'show platform packet-trace packet {packet_id}' + * Added YANG parser for ShowSystemIntegrityAllCompliance + * Modified ShowPlatformHardwareAuthenticationStatus + * Added missing optional attributes to schema for 10-slot chassis. + * Modified ShowStandbyAll parser + * Updated regex for the state changes line and improved parsing of the last state change time to accommodate various output formats. + +* iosxr + * Modified ShowPlatform for `ASR-9903` with `IOS-XR v7.8.2` + * Updated regex pattern to accommodate various outputs + * Changed whitespace before to use \s+ (was a single space) for variable spacing. + * Made optional by wrapping it in a non-capturing group. + * Ensures lines without a "Config state" column are parsed (e.g., `0/0/1 A9903-20HG-PEC OK`). + +* nxos + * Fixed ShowEnvironmentPowerDetail parser. + * Fixed parser for cli show environment power detail. + + +-------------------------------------------------------------------------------- + Modified +-------------------------------------------------------------------------------- + +* iosxe + * Modified show environment power cache parser in iosxe/ie3k + * Modified parser for show environment power in iosxe/ie3k + * Updated ShowUACUplinkDB parser + * Added support for "IPV4 Preferred Uplink" and "IPV6 Preferred Uplink". + * Added support for optional "Allowed" field in interface tables. + * Improved parsing logic for various output formats. + * Modified ShowIpRouteWord parser + * Fixed p5 where the parser was not correctly handling routes with specific keywords such as "directly connected" and "via". + * Fixed p8 where the parser was not correctly capturing the metric and next-hop information for certain route types. + * Modified ShowIpPolicy parser + * Added support for IPv6 policy parsing in addition to existing IPv4 policy parsing. + +* fix resolve syntaxwarnings from invalid escape sequences + * Updated regex patterns to use raw strings (r"...") or escaped backslashes + * Eliminated SyntaxWarnings (e.g., '\d', '\S') during runtime + + +-------------------------------------------------------------------------------- + Modify +-------------------------------------------------------------------------------- + +* iosxe + * Modified ShowEnvironmentAlarmContact in iosxe/ie3k + * Modified parser for "show environment alarm-contact" in iosxe/ie3k + + diff --git a/changelog/undistributed/changelog_show_platform_iosxr_20250911130834.rst b/changelog/undistributed/changelog_show_platform_iosxr_20250911130834.rst deleted file mode 100644 index 6154f2cd11..0000000000 --- a/changelog/undistributed/changelog_show_platform_iosxr_20250911130834.rst +++ /dev/null @@ -1,10 +0,0 @@ --------------------------------------------------------------------------------- - Fix --------------------------------------------------------------------------------- - -* IOSXR - * Modified ShowPlatform for `ASR-9903` with `IOS-XR v7.8.2`: - * Updated regex pattern to accommodate various outputs: - * Changed whitespace before to use \s+ (was a single space) for variable spacing. - * Made optional by wrapping it in a non-capturing group. - * Ensures lines without a "Config state" column are parsed (e.g., `0/0/1 A9903-20HG-PEC OK`). \ No newline at end of file diff --git a/changelog/undistributed/changelog_show_subscriber_iosxr_20250923220203.rst b/changelog/undistributed/changelog_show_subscriber_iosxr_20250923220203.rst deleted file mode 100644 index d772312770..0000000000 --- a/changelog/undistributed/changelog_show_subscriber_iosxr_20250923220203.rst +++ /dev/null @@ -1,7 +0,0 @@ --------------------------------------------------------------------------------- - New --------------------------------------------------------------------------------- - -* IOSXR - * Added `ShowSubscriberSessionAllSummary` Parser - * Added schema and parser for `show subscriber session all summary` command. \ No newline at end of file diff --git a/sdk_generator/outputs/github_parser.json b/sdk_generator/outputs/github_parser.json index 4368b1b044..74d104d909 100644 --- a/sdk_generator/outputs/github_parser.json +++ b/sdk_generator/outputs/github_parser.json @@ -12075,7 +12075,7 @@ "os": "iosxr" }, "uid": "admin_show_diag_chassis", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L1085" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L1095" } } }, @@ -12200,7 +12200,7 @@ "os": "iosxe" }, "uid": "dir", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L1510" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L1511" }, "iosxr": { "class": "Dir", @@ -12212,7 +12212,7 @@ "os": "iosxr" }, "uid": "dir", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L3119" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L3129" }, "nxos": { "class": "Dir", @@ -12240,7 +12240,7 @@ "os": "iosxr" }, "uid": "dir_location_location", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L3119" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L3129" } } }, @@ -12301,7 +12301,7 @@ "os": "iosxe" }, "uid": "dir_directory", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L1510" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L1511" }, "iosxr": { "class": "Dir", @@ -12313,7 +12313,7 @@ "os": "iosxr" }, "uid": "dir_directory", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L3119" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L3129" }, "nxos": { "class": "Dir", @@ -12341,7 +12341,7 @@ "os": "iosxr" }, "uid": "dir_directory_location_location", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L3119" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L3129" } } }, @@ -12705,7 +12705,7 @@ "os": "iosxe" }, "uid": "hw-module_beacon_RP_supervisor_status", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_hw.py#L801" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_hw.py#L802" } } }, @@ -12721,7 +12721,37 @@ "os": "iosxe" }, "uid": "hw-module_beacon_fan-tray_status", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_hw.py#L768" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_hw.py#L769" + } + } + }, + "hw-module beacon fan-tray {fantray_num} status": { + "folders": { + "iosxe": { + "folders": { + "cat9k": { + "folders": { + "c9610": { + "class": "HardwareModuleBeaconFantrayStatus", + "doc": "Parser for hw-module beacon fan-tray {fantray_num} status", + "module_name": "iosxe.cat9k.c9610.show_hardware", + "package": "genie.libs.parser", + "schema": "{\n 'fantray_status': str,\n}", + "tokens": { + "model": "c9610" + }, + "uid": "hw-module_beacon_fan-tray_fantray_num_status", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_hardware.py#L236" + } + }, + "tokens": { + "platform": "cat9k" + } + } + }, + "tokens": { + "os": "iosxe" + } } } }, @@ -12737,7 +12767,7 @@ "os": "iosxe" }, "uid": "hw-module_beacon_slot_slot_num_status", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_hw.py#L801" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_hw.py#L802" } } }, @@ -12895,7 +12925,7 @@ "os": "iosxe" }, "uid": "monitor_capture_capture_name_stop", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L575" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L578" } } }, @@ -14643,6 +14673,22 @@ } } }, + "show alignment": { + "folders": { + "iosxe": { + "class": "ShowAlignment", + "doc": "Parser for show alignment", + "module_name": "iosxe.show_alignment", + "package": "genie.libs.parser", + "schema": "{\n Optional('alignment_data'): {\n 'software_version': str,\n 'compiled_date': str,\n 'compiled_by': str,\n Optional('total_corrections'): int,\n Optional('recorded_corrections'): int,\n Optional('reads'): int,\n Optional('writes'): int,\n Optional('alignment_records'): {\n Any('*'): {\n 'count': int,\n 'access_type': str,\n 'operation': str,\n 'traceback': ListOf (type) ,\n },\n },\n },\n Optional('spurious_memory'): {\n Optional('total_spurious_accesses'): int,\n Optional('recorded_spurious_accesses'): int,\n Optional('spurious_records'): {\n Any('*'): {\n 'count': int,\n 'traceback': ListOf (type) ,\n },\n },\n },\n Optional('no_alignment_data'): bool,\n Optional('no_spurious_references'): bool,\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_alignment", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_alignment.py#L57" + } + } + }, "show ap ble summary": { "folders": { "iosxe": { @@ -16059,7 +16105,7 @@ "os": "iosxe" }, "uid": "show_banner_motd", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L3498" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L3499" } } }, @@ -19556,7 +19602,7 @@ "os": "iosxe" }, "uid": "show_boot", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L2894" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L2895" }, "nxos": { "class": "ShowBoot", @@ -19660,7 +19706,7 @@ "os": "iosxe" }, "uid": "show_bootvar", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L93" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L94" } } }, @@ -20048,7 +20094,7 @@ "os": "iosxe" }, "uid": "show_call_admission_statistics", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6807" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6808" } } }, @@ -20064,7 +20110,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#L6975" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6976" } } }, @@ -20616,7 +20662,7 @@ "os": "iosxe" }, "uid": "show_cef_interface_policy-statistics", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_cef.py#L289" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_cef.py#L290" } } }, @@ -20648,7 +20694,7 @@ "os": "iosxe" }, "uid": "show_cef_interface_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_cef.py#L362" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_cef.py#L363" } } }, @@ -20664,7 +20710,7 @@ "os": "iosxe" }, "uid": "show_cef_interface_interface_internal", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_cef.py#L536" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_cef.py#L537" } } }, @@ -20680,7 +20726,7 @@ "os": "iosxe" }, "uid": "show_cef_path_set_id_cef_id_detail___in_Replicate_oce:", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_cef.py#L30" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_cef.py#L31" } } }, @@ -20696,7 +20742,23 @@ "os": "iosxe" }, "uid": "show_cef_path_sets_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_cef.py#L249" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_cef.py#L250" + } + } + }, + "show cef table consistency-check": { + "folders": { + "iosxe": { + "class": "ShowCefTableConsistencyCheck", + "doc": " Parser for:\n * 'show cef table consistency-check'\n ", + "module_name": "iosxe.show_cef", + "package": "genie.libs.parser", + "schema": "{\n 'consistency_checker_master_control': str,\n Optional('ipv4'): {\n 'table_consistency_checker_state': {\n Any('*'): {\n 'status': str,\n Optional('prefixes_checked'): int,\n Optional('check_interval'): int,\n 'queries_sent': int,\n 'queries_ignored': int,\n 'queries_checked': int,\n 'queries_iterated': int,\n },\n },\n 'checksum_data_checking': str,\n 'inconsistency_error_messages': str,\n 'inconsistency_auto_repair': str,\n Optional('auto_repair_delay'): int,\n Optional('auto_repair_holddown'): int,\n 'inconsistency_auto_repair_runs': int,\n 'inconsistency_statistics_confirmed': int,\n 'inconsistency_statistics_recorded': str,\n },\n Optional('ipv6'): {\n 'table_consistency_checker_state': {\n Any('*'): {\n 'status': str,\n Optional('prefixes_checked'): int,\n Optional('check_interval'): int,\n 'queries_sent': int,\n 'queries_ignored': int,\n 'queries_checked': int,\n 'queries_iterated': int,\n },\n },\n 'checksum_data_checking': str,\n 'inconsistency_error_messages': str,\n 'inconsistency_auto_repair': str,\n Optional('auto_repair_delay'): int,\n Optional('auto_repair_holddown'): int,\n 'inconsistency_auto_repair_runs': int,\n 'inconsistency_statistics_confirmed': int,\n 'inconsistency_statistics_recorded': str,\n },\n Optional('binding_label'): {\n 'table_consistency_checker_state': {\n Any('*'): {\n 'status': str,\n Optional('prefixes_checked'): int,\n Optional('check_interval'): int,\n 'queries_sent': int,\n 'queries_ignored': int,\n 'queries_checked': int,\n 'queries_iterated': int,\n },\n },\n 'checksum_data_checking': str,\n 'inconsistency_error_messages': str,\n 'inconsistency_auto_repair': str,\n Optional('auto_repair_delay'): int,\n Optional('auto_repair_holddown'): int,\n 'inconsistency_auto_repair_runs': int,\n 'inconsistency_statistics_confirmed': int,\n 'inconsistency_statistics_recorded': str,\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_cef_table_consistency-check", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_cef.py#L850" } } }, @@ -20712,7 +20774,7 @@ "os": "iosxe" }, "uid": "show_cef_uid", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_cef.py#L81" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_cef.py#L82" } } }, @@ -24370,6 +24432,22 @@ } } }, + "show cts credentials": { + "folders": { + "iosxe": { + "class": "ShowCtsCredentials", + "doc": "Parser for `show cts credentials`", + "module_name": "iosxe.show_cts", + "package": "genie.libs.parser", + "schema": "{\n 'credentials_exist': bool,\n Optional('username'): str,\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_cts_credentials", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_cts.py#L4299" + } + } + }, "show cts environment-data": { "folders": { "iosxe": { @@ -26074,7 +26152,7 @@ "os": "iosxr" }, "uid": "show_diag_details", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L1533" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L1543" } } }, @@ -26279,7 +26357,7 @@ "os": "iosxe" }, "uid": "show_diagnostic_status", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L7708" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L7709" } } }, @@ -26967,7 +27045,7 @@ "os": "iosxe" }, "uid": "show_env_all", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L3941" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L3942" } } }, @@ -26983,7 +27061,7 @@ "os": "iosxe" }, "uid": "show_env_fan", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L3956" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L3957" } } }, @@ -26999,7 +27077,7 @@ "os": "iosxe" }, "uid": "show_env_power", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L3973" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L3974" } } }, @@ -27015,7 +27093,7 @@ "os": "iosxe" }, "uid": "show_env_power_all", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L3990" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L3991" } } }, @@ -27031,7 +27109,7 @@ "os": "iosxe" }, "uid": "show_env_rps", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4005" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4006" } } }, @@ -27047,7 +27125,7 @@ "os": "iosxe" }, "uid": "show_env_stack", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4022" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4023" } } }, @@ -27063,7 +27141,7 @@ "os": "iosxe" }, "uid": "show_env_temperature", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4039" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4040" } } }, @@ -27079,7 +27157,7 @@ "os": "iosxe" }, "uid": "show_env_temperature_status", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4056" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4057" } } }, @@ -27149,7 +27227,7 @@ "os": "iosxe" }, "uid": "show_environment", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4571" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4572" }, "nxos": { "class": "ShowEnvironment", @@ -27165,21 +27243,21 @@ } } }, - "show environment alarm contact": { + "show environment alarm-contact": { "folders": { "iosxe": { "folders": { "ie3k": { "class": "ShowEnvironmentAlarmContact", - "doc": "Parser for show environment alarm contact", + "doc": "Parser for show environment alarm-contact", "module_name": "iosxe.ie3k.show_platform", "package": "genie.libs.parser", "schema": "{\n Any('*'): {\n 'status': str,\n 'description': str,\n 'severity': str,\n 'trigger': str,\n },\n}", "tokens": { "platform": "ie3k" }, - "uid": "show_environment_alarm_contact", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/ie3k/show_platform.py#L458" + "uid": "show_environment_alarm-contact", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/ie3k/show_platform.py#L462" } }, "tokens": { @@ -27278,7 +27356,7 @@ "platform": "ie3k" }, "uid": "show_environment_all", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/ie3k/show_platform.py#L555" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/ie3k/show_platform.py#L559" } }, "module_name": "iosxe.show_platform", @@ -27288,7 +27366,7 @@ "os": "iosxe" }, "uid": "show_environment_all", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L3925" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L3926" } } }, @@ -27447,12 +27525,12 @@ "doc": "Parser for show environment power detail ", "module_name": "nxos.show_environment", "package": "genie.libs.parser", - "schema": "{\n Optional('power'): {\n Optional('voltage'): int,\n Optional('power_supply'): {\n Any('*'): {\n Optional('model'): str,\n Optional('actual_output_watts'): int,\n Optional('actual_input_watts'): int,\n Optional('total_capacity_watts'): int,\n Optional('status'): str,\n },\n },\n Optional('modules'): {\n Any('*'): {\n Optional('model'): str,\n Optional('actual_drawn'): str,\n Optional('allocated_power'): float,\n Optional('status'): str,\n },\n },\n Optional('power_supply_mode'): {\n Optional('config_mode'): str,\n Optional('oper_mode'): str,\n },\n Optional('power_usage_summary'): {\n Optional('total_power_capacity_watts'): float,\n Optional('total_grid_a_power_watts'): float,\n Optional('total_grid_b_power_watts'): float,\n Optional('total_power_cumulative_watts'): float,\n Optional('total_power_output_watts'): float,\n Optional('total_power_input_watts'): float,\n Optional('total_power_allocated_watts'): float,\n Optional('total_power_available_watts'): float,\n },\n Optional('power_usage_details'): {\n Optional('power_reserved_for_sup_watts'): str,\n Optional('power_reserved_for_fabric_sc_watts'): str,\n Optional('power_reserved_for_fan_module_watts'): str,\n Optional('total_power_reserved_watts'): str,\n Optional('all_inlet_cords_connected'): str,\n },\n Optional('power_supply_details'): {\n Any('*'): {\n Optional('total_capacity_watts'): int,\n Optional('voltage'): int,\n Optional('Pin'): float,\n Optional('Vin'): float,\n Optional('Iin'): float,\n Optional('Pout'): float,\n Optional('Vout'): float,\n Optional('Iout'): float,\n Optional('cord_connected'): bool,\n Optional('connected_to'): str,\n Optional('software_alarm'): str,\n Optional('hardware_alarm'): str,\n Optional('hw_registers'): list,\n },\n },\n },\n}", + "schema": "{\n Optional('power'): {\n Optional('voltage'): int,\n Optional('power_supply'): {\n Any('*'): {\n Optional('model'): str,\n Optional('actual_output_watts'): int,\n Optional('actual_input_watts'): int,\n Optional('total_capacity_watts'): int,\n Optional('status'): str,\n },\n },\n Optional('modules'): {\n Any('*'): {\n Optional('model'): str,\n Optional('actual_drawn'): str,\n Optional('allocated_power'): float,\n Optional('status'): str,\n },\n },\n Optional('power_supply_mode'): {\n Optional('config_mode'): str,\n Optional('oper_mode'): str,\n },\n Optional('power_usage_summary'): {\n Optional('total_power_capacity_watts'): float,\n Optional('total_grid_a_power_watts'): float,\n Optional('total_grid_b_power_watts'): float,\n Optional('total_power_cumulative_watts'): float,\n Optional('total_power_output_watts'): float,\n Optional('total_power_input_watts'): float,\n Optional('total_power_allocated_watts'): float,\n Optional('total_power_available_watts'): float,\n },\n Optional('power_usage_details'): {\n Optional('power_reserved_for_sup_watts'): str,\n Optional('power_reserved_for_fabric_sc_watts'): str,\n Optional('power_reserved_for_fan_module_watts'): str,\n Optional('total_power_reserved_watts'): str,\n Optional('all_inlet_cords_connected'): str,\n },\n Optional('power_supply_details'): {\n Any('*'): {\n Optional('total_capacity_watts'): int,\n Optional('voltage'): int,\n Optional('Pin'): float,\n Optional('Vin'): float,\n Optional('Iin'): float,\n Optional('PinB'): float,\n Optional('VinB'): float,\n Optional('IinB'): float,\n Optional('Pout'): float,\n Optional('Vout'): float,\n Optional('Iout'): float,\n Optional('cord_connected'): bool,\n Optional('connected_to'): str,\n Optional('software_alarm'): str,\n Optional('hardware_alarm'): str,\n Optional('hw_registers'): list,\n Optional('pin_total'): float,\n Optional('inlet'): str,\n Optional('units'): str,\n },\n },\n },\n}", "tokens": { "os": "nxos" }, "uid": "show_environment_power_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_environment.py#L818" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_environment.py#L824" } } }, @@ -27500,7 +27578,7 @@ "os": "iosxe" }, "uid": "show_environment_status", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6130" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6131" } } }, @@ -27518,7 +27596,7 @@ "platform": "ie3k" }, "uid": "show_environment_temperature", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/ie3k/show_platform.py#L380" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/ie3k/show_platform.py#L384" } }, "tokens": { @@ -27535,7 +27613,7 @@ "os": "nxos" }, "uid": "show_environment_temperature", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_environment.py#L1122" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_environment.py#L1173" } } }, @@ -27551,7 +27629,7 @@ "os": "iosxe" }, "uid": "show_environment_temperature_all", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L10590" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L10599" } } }, @@ -27567,7 +27645,7 @@ "os": "nxos" }, "uid": "show_environment_temperature_module_module", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_environment.py#L1122" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_environment.py#L1173" } } }, @@ -27616,7 +27694,7 @@ "os": "iosxe" }, "uid": "show_environment___include_include", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4571" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4572" } } }, @@ -29171,7 +29249,7 @@ "os": "iosxe" }, "uid": "show_file_descriptors_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9268" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9277" } } }, @@ -29187,7 +29265,7 @@ "os": "iosxe" }, "uid": "show_file_information_file", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9221" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9230" } } }, @@ -29203,7 +29281,7 @@ "os": "iosxe" }, "uid": "show_file_systems", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7573" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7582" } } }, @@ -29219,7 +29297,7 @@ "os": "iosxr" }, "uid": "show_filesystem_location_all", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L3397" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L3407" } } }, @@ -31177,7 +31255,7 @@ "os": "iosxe" }, "uid": "show_graceful-reload", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9156" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9165" } } }, @@ -31342,7 +31420,7 @@ "model": "c9610" }, "uid": "show_hardware_led", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_hardware.py#L82" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_hardware.py#L83" } }, "tokens": { @@ -31369,7 +31447,7 @@ "os": "iosxe" }, "uid": "show_hardware_led", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_hw.py#L195" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_hw.py#L196" } } }, @@ -31385,7 +31463,7 @@ "os": "iosxe" }, "uid": "show_hardware_led_port_port", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_hw.py#L522" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_hw.py#L523" } } }, @@ -31401,7 +31479,7 @@ "os": "iosxe" }, "uid": "show_hardware_led_port_port_mode", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_hw.py#L725" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_hw.py#L726" } } }, @@ -31417,7 +31495,7 @@ "os": "iosxe" }, "uid": "show_hardware_led_stack_switch_num", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_hw.py#L195" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_hw.py#L196" } } }, @@ -31717,7 +31795,7 @@ "os": "iosxe" }, "uid": "show_hw-module_slot_slot_port-group_mode", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_hw.py#L574" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_hw.py#L575" } } }, @@ -31733,7 +31811,7 @@ "os": "iosxe" }, "uid": "show_hw-module_subslot_slot_oir", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_hw.py#L840" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_hw.py#L841" } } }, @@ -31749,7 +31827,7 @@ "os": "iosxe" }, "uid": "show_hw-module_subslot_subslot_entity", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_hw.py#L936" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_hw.py#L937" } } }, @@ -31765,7 +31843,7 @@ "os": "iosxe" }, "uid": "show_hw-module_usbflash1_security_status", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_hw.py#L629" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_hw.py#L630" } } }, @@ -31781,7 +31859,7 @@ "os": "iosxe" }, "uid": "show_hw-module_usbflash1_switch_switch_num_security_status", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_hw.py#L629" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_hw.py#L630" } } }, @@ -31797,7 +31875,7 @@ "os": "iosxe" }, "uid": "show_hw-module_filesystem_security-lock_status", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_hw.py#L673" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_hw.py#L674" } } }, @@ -31836,7 +31914,7 @@ "os": "iosxe" }, "uid": "show_hw_module_subslot_subslot_transceiver_transceiver_status", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_hw.py#L50" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_hw.py#L51" } } }, @@ -31907,6 +31985,22 @@ } } }, + "show idprom fan-tray {fantray_num} eeprom detail": { + "folders": { + "iosxe": { + "class": "ShowIdpromFantrayEepromDetail", + "doc": "\n Parser for:\n - show idprom switch {switch_num} fan-tray {fantray_num} eeprom detail\n - show idprom fan-tray {fantray_num} eeprom detail\n ", + "module_name": "iosxe.show_idprom", + "package": "genie.libs.parser", + "schema": "{\n 'eeprom_version': str,\n 'compatible_type': str,\n 'controller_type': str,\n 'hardware_revision': str,\n 'top_assy_part_number': str,\n 'top_assy_revision': str,\n 'pcb_part_number': str,\n 'board_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 Optional('clei_code'): str,\n 'product_identifier': str,\n 'version_identifier': str,\n 'chassis_mac_address': str,\n 'manufacturing_test_data': str,\n 'field_diagnostics_data': str,\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_idprom_fan-tray_fantray_num_eeprom_detail", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_idprom.py#L727" + } + } + }, "show idprom interface {interface}": { "folders": { "iosxe": { @@ -31944,6 +32038,22 @@ } } }, + "show idprom switch {switch_num} fan-tray {fantray_num} eeprom detail": { + "folders": { + "iosxe": { + "class": "ShowIdpromFantrayEepromDetail", + "doc": "\n Parser for:\n - show idprom switch {switch_num} fan-tray {fantray_num} eeprom detail\n - show idprom fan-tray {fantray_num} eeprom detail\n ", + "module_name": "iosxe.show_idprom", + "package": "genie.libs.parser", + "schema": "{\n 'eeprom_version': str,\n 'compatible_type': str,\n 'controller_type': str,\n 'hardware_revision': str,\n 'top_assy_part_number': str,\n 'top_assy_revision': str,\n 'pcb_part_number': str,\n 'board_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 Optional('clei_code'): str,\n 'product_identifier': str,\n 'version_identifier': str,\n 'chassis_mac_address': str,\n 'manufacturing_test_data': str,\n 'field_diagnostics_data': str,\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_idprom_switch_switch_num_fan-tray_fantray_num_eeprom_detail", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_idprom.py#L727" + } + } + }, "show idprom tan": { "folders": { "iosxe": { @@ -32291,7 +32401,7 @@ "os": "iosxr" }, "uid": "show_install_active_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L585" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L595" } } }, @@ -32323,7 +32433,7 @@ "os": "iosxr" }, "uid": "show_install_commit_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L791" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L801" } } }, @@ -32371,7 +32481,7 @@ "os": "iosxr" }, "uid": "show_install_inactive_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L721" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L731" } } }, @@ -32819,7 +32929,7 @@ "os": "iosxe" }, "uid": "show_interface_summary_vlan", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4304" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4553" } } }, @@ -32878,12 +32988,12 @@ "doc": "Parser for show interface {interface_id} etherchannel", "module_name": "iosxe.show_interface", "package": "genie.libs.parser", - "schema": "{\n 'port_state': str,\n 'channel_group': int,\n 'mode': str,\n 'gcchange': str,\n 'port_channel': str,\n 'gc': str,\n 'pseudo_port_channel': str,\n 'port_index': int,\n 'load': str,\n 'protocol': str,\n Optional('flags'): {\n '': str,\n },\n Optional('local_information'): {\n 'port': str,\n 'flags': str,\n 'state': str,\n 'priority': str,\n 'admin_key': str,\n 'oper_key': str,\n 'port_number': str,\n 'port_state': str,\n },\n 'port_age': str,\n}", + "schema": "{\n Optional('port_state'): str,\n Optional('channel_group'): int,\n Optional('mode'): str,\n Optional('gcchange'): str,\n Optional('port_channel'): str,\n Optional('gc'): str,\n Optional('pseudo_port_channel'): str,\n Optional('port_index'): int,\n Optional('load'): str,\n Optional('protocol'): str,\n Optional('flags'): {\n '': str,\n },\n Optional('local_information'): {\n 'port': str,\n 'flags': str,\n 'state': str,\n 'priority': str,\n 'admin_key': str,\n 'oper_key': str,\n 'port_number': str,\n 'port_state': str,\n },\n Optional('port_age'): str,\n Optional('all_idbs_list'): {\n 'total_configured_interfaces': int,\n 'interfaces': {\n Any('*'): {\n 'interface': str,\n 'index': int,\n },\n },\n },\n Optional('active_member_list'): {\n 'total_interfaces': int,\n 'interfaces': {\n Any('*'): {\n 'interface': str,\n 'lacp_mode': str,\n },\n },\n },\n Optional('passive_member_list'): {\n 'total_interfaces': int,\n },\n Optional('load_balancing_method'): str,\n Optional('bucket_information'): {\n Any('*'): {\n 'interface': str,\n 'buckets': list,\n },\n },\n}", "tokens": { "os": "iosxe" }, "uid": "show_interface_interface_id_etherchannel", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L5375" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L5657" } } }, @@ -33039,7 +33149,7 @@ "os": "iosxe" }, "uid": "show_interface_interface_human-readable", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L5730" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L6130" } } }, @@ -33055,7 +33165,7 @@ "os": "iosxe" }, "uid": "show_interface_interface_human-readable___i_drops", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L5677" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L6077" } } }, @@ -33135,7 +33245,7 @@ "os": "iosxe" }, "uid": "show_interface_interface_vlan_mapping", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L5635" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L6035" } } }, @@ -33238,7 +33348,7 @@ "doc": "parser for show interfaces", "module_name": "ios.show_interface", "package": "genie.libs.parser", - "schema": "{\n Any('*'): {\n Optional('oper_status'): str,\n Optional('line_protocol'): str,\n Optional('enabled'): bool,\n Optional('is_deleted'): bool,\n Optional('is_present'): bool,\n Optional('connected'): bool,\n Optional('err_disabled'): bool,\n Optional('suspended'): bool,\n Optional('description'): str,\n Optional('type'): str,\n Optional('link_state'): str,\n Optional('port_speed'): str,\n Optional('duplex_mode'): str,\n Optional('link_type'): str,\n Optional('media_type'): str,\n Optional('mtu'): int,\n Optional('maximum_active_vcs'): str,\n Optional('vcs_per_vp'): str,\n Optional('vc_idle_disconnect_time'): str,\n Optional('vc_auto_creation'): str,\n Optional('current_vccs'): str,\n Optional('aal5_crc_errors'): int,\n Optional('aal5_oversized_sdus'): int,\n Optional('aal5_sar_timeouts'): int,\n Optional('vaccess_status'): str,\n Optional('vaccess_loopback'): str,\n Optional('base_pppoatm'): str,\n Optional('dtr_pulsed'): str,\n Optional('sub_mtu'): int,\n Optional('medium'): str,\n Optional('reliability'): str,\n Optional('txload'): str,\n Optional('rxload'): str,\n Optional('mac_address'): str,\n Optional('phys_address'): str,\n Optional('delay'): int,\n Optional('carrier_delay'): int,\n Optional('carrier_delay_up'): int,\n Optional('carrier_delay_down'): int,\n Optional('keepalive'): int,\n Optional('auto_negotiate'): bool,\n Optional('arp_type'): str,\n Optional('arp_timeout'): str,\n Optional('last_input'): str,\n Optional('last_output'): str,\n Optional('output_hang'): str,\n Optional('autostate'): bool,\n Optional('tunnel_source_ip'): str,\n Optional('tunnel_source_interface'): str,\n Optional('tunnel_destination_ip'): str,\n Optional('tunnel_protocol'): str,\n Optional('tunnel_ttl'): int,\n Optional('tunnel_transport_mtu'): int,\n Optional('tunnel_transmit_bandwidth'): int,\n Optional('tunnel_receive_bandwidth'): int,\n Optional('tunnel_protection'): str,\n Optional('tunnel_profile'): str,\n Optional('carrier_transitions'): int,\n Optional('queues'): {\n Optional('input_queue_size'): int,\n Optional('input_queue_max'): int,\n Optional('input_queue_drops'): int,\n Optional('input_queue_flushes'): int,\n Optional('total_output_drop'): int,\n Optional('queue_strategy'): str,\n Optional('output_queue_size'): int,\n Optional('output_queue_max'): int,\n Optional('threshold'): int,\n Optional('drops'): int,\n },\n Optional('flow_control'): {\n Optional('receive'): bool,\n Optional('send'): bool,\n },\n Optional('port_channel'): {\n Optional('port_channel_member'): bool,\n Optional('port_channel_int'): str,\n Optional('port_channel_member_intfs'): list,\n Optional('active_members'): int,\n Optional('num_of_pf_jumbo_supported_members'): int,\n },\n Optional('bandwidth'): Or (, ),\n Optional('counters'): {\n Optional('rate'): {\n Optional('load_interval'): int,\n Optional('in_rate'): int,\n Optional('in_rate_pkts'): int,\n Optional('out_rate'): int,\n Optional('out_rate_pkts'): int,\n Optional('in_rate_bps'): int,\n Optional('in_rate_pps'): int,\n Optional('out_rate_bps'): int,\n Optional('out_rate_pps'): int,\n },\n Optional('in_multicast_pkts'): int,\n Optional('in_broadcast_pkts'): int,\n Optional('in_crc_errors'): int,\n Optional('in_giants'): int,\n Optional('in_pkts'): int,\n Optional('in_frame'): int,\n Optional('in_runts'): int,\n Optional('in_overrun'): int,\n Optional('in_ignored'): int,\n Optional('in_watchdog'): int,\n Optional('in_with_dribble'): int,\n Optional('in_octets'): int,\n Optional('in_errors'): int,\n Optional('in_abort'): int,\n Optional('in_no_buffer'): int,\n Optional('in_throttles'): int,\n Optional('in_mac_pause_frames'): int,\n Optional('in_drops'): int,\n Optional('out_pkts'): int,\n Optional('out_octets'): int,\n Optional('out_multicast_pkts'): int,\n Optional('out_broadcast_pkts'): int,\n Optional('out_errors'): int,\n Optional('out_collision'): int,\n Optional('out_interface_resets'): int,\n Optional('out_unknown_protocl_drops'): int,\n Optional('out_babbles'): int,\n Optional('out_deferred'): int,\n Optional('out_underruns'): int,\n Optional('out_late_collision'): int,\n Optional('out_lost_carrier'): int,\n Optional('out_no_carrier'): int,\n Optional('out_babble'): int,\n Optional('out_mac_pause_frames'): int,\n Optional('out_buffer_failure'): int,\n Optional('out_buffers_swapped'): int,\n Optional('out_drops'): int,\n Optional('last_clear'): str,\n },\n Optional('encapsulations'): {\n Optional('encapsulation'): str,\n Optional('first_dot1q'): str,\n Optional('second_dot1q'): str,\n Optional('native_vlan'): int,\n },\n Optional('ipv4'): {\n Any('*'): {\n Optional('ip'): str,\n Optional('prefix_length'): str,\n Optional('secondary'): bool,\n },\n Optional('unnumbered'): {\n 'interface_ref': str,\n },\n },\n Optional('peer_ip'): str,\n Optional('vc_id'): int,\n },\n}", + "schema": "{\n Any('*'): {\n Optional('oper_status'): str,\n Optional('line_protocol'): str,\n Optional('enabled'): bool,\n Optional('is_deleted'): bool,\n Optional('is_present'): bool,\n Optional('connected'): bool,\n Optional('err_disabled'): bool,\n Optional('suspended'): bool,\n Optional('description'): str,\n Optional('type'): str,\n Optional('link_state'): str,\n Optional('port_speed'): str,\n Optional('duplex_mode'): str,\n Optional('link_type'): str,\n Optional('media_type'): str,\n Optional('mtu'): int,\n Optional('maximum_active_vcs'): str,\n Optional('vcs_per_vp'): str,\n Optional('vc_idle_disconnect_time'): str,\n Optional('vc_auto_creation'): str,\n Optional('current_vccs'): str,\n Optional('aal5_crc_errors'): int,\n Optional('aal5_oversized_sdus'): int,\n Optional('aal5_sar_timeouts'): int,\n Optional('vaccess_status'): str,\n Optional('vaccess_loopback'): str,\n Optional('base_pppoatm'): str,\n Optional('dtr_pulsed'): str,\n Optional('sub_mtu'): int,\n Optional('medium'): str,\n Optional('reliability'): str,\n Optional('txload'): str,\n Optional('rxload'): str,\n Optional('mac_address'): str,\n Optional('phys_address'): str,\n Optional('delay'): int,\n Optional('carrier_delay'): int,\n Optional('carrier_delay_up'): int,\n Optional('carrier_delay_down'): int,\n Optional('keepalive'): int,\n Optional('auto_negotiate'): bool,\n Optional('arp_type'): str,\n Optional('arp_timeout'): str,\n Optional('last_input'): str,\n Optional('last_output'): str,\n Optional('output_hang'): str,\n Optional('autostate'): bool,\n Optional('tunnel_source_ip'): str,\n Optional('tunnel_source_interface'): str,\n Optional('tunnel_destination_ip'): str,\n Optional('tunnel_protocol'): str,\n Optional('tunnel_ttl'): int,\n Optional('tunnel_transport_mtu'): int,\n Optional('tunnel_transmit_bandwidth'): int,\n Optional('tunnel_receive_bandwidth'): int,\n Optional('tunnel_protection'): str,\n Optional('tunnel_profile'): str,\n Optional('carrier_transitions'): int,\n Optional('queues'): {\n Optional('input_queue_size'): int,\n Optional('input_queue_max'): int,\n Optional('input_queue_drops'): int,\n Optional('input_queue_flushes'): int,\n Optional('total_output_drop'): int,\n Optional('queue_strategy'): str,\n Optional('output_queue_size'): int,\n Optional('output_queue_max'): int,\n Optional('threshold'): int,\n Optional('drops'): int,\n },\n Optional('flow_control'): {\n Optional('receive'): bool,\n Optional('send'): bool,\n },\n Optional('port_channel'): {\n Optional('port_channel_member'): bool,\n Optional('port_channel_int'): str,\n Optional('port_channel_member_intfs'): list,\n Optional('active_members'): int,\n Optional('num_of_pf_jumbo_supported_members'): int,\n },\n Optional('bandwidth'): Or (, ),\n Optional('counters'): {\n Optional('rate'): {\n Optional('load_interval'): int,\n Optional('in_rate'): int,\n Optional('in_rate_pkts'): int,\n Optional('out_rate'): int,\n Optional('out_rate_pkts'): int,\n Optional('in_rate_bps'): int,\n Optional('in_rate_pps'): int,\n Optional('out_rate_bps'): int,\n Optional('out_rate_pps'): int,\n },\n Optional('in_multicast_pkts'): int,\n Optional('in_broadcast_pkts'): int,\n Optional('in_crc_errors'): int,\n Optional('in_giants'): int,\n Optional('in_pkts'): int,\n Optional('in_frame'): int,\n Optional('in_runts'): int,\n Optional('in_overrun'): int,\n Optional('in_ignored'): int,\n Optional('in_watchdog'): int,\n Optional('in_with_dribble'): int,\n Optional('in_octets'): int,\n Optional('in_errors'): int,\n Optional('in_abort'): int,\n Optional('in_no_buffer'): int,\n Optional('in_throttles'): int,\n Optional('in_mac_pause_frames'): int,\n Optional('in_drops'): int,\n Optional('out_pkts'): int,\n Optional('out_octets'): int,\n Optional('out_multicast_pkts'): int,\n Optional('out_broadcast_pkts'): int,\n Optional('out_errors'): int,\n Optional('out_collision'): int,\n Optional('out_interface_resets'): int,\n Optional('out_unknown_protocl_drops'): int,\n Optional('out_babbles'): int,\n Optional('out_deferred'): int,\n Optional('out_underruns'): int,\n Optional('out_late_collision'): int,\n Optional('out_lost_carrier'): int,\n Optional('out_no_carrier'): int,\n Optional('out_babble'): int,\n Optional('out_mac_pause_frames'): int,\n Optional('out_buffer_failure'): int,\n Optional('out_buffers_swapped'): int,\n Optional('out_drops'): int,\n Optional('last_clear'): str,\n },\n Optional('encapsulations'): {\n Optional('encapsulation'): str,\n Optional('first_dot1q'): str,\n Optional('second_dot1q'): str,\n Optional('native_vlan'): int,\n },\n Optional('ipv4'): {\n Any('*'): {\n Optional('ip'): str,\n Optional('prefix_length'): str,\n Optional('secondary'): bool,\n },\n Optional('unnumbered'): {\n 'interface_ref': str,\n },\n },\n Optional('peer_ip'): str,\n Optional('vc_id'): int,\n Optional('x25'): {\n Optional('dte'): bool,\n Optional('version'): str,\n Optional('address'): str,\n Optional('state'): str,\n Optional('modulo'): int,\n Optional('timer'): int,\n Optional('idle_vc_timeout'): int,\n Optional('encapsulation'): str,\n Optional('input_window_size'): int,\n Optional('output_window_size'): int,\n Optional('input_packet_size'): int,\n Optional('output_packet_size'): int,\n Optional('timers'): {\n Optional('t20'): int,\n Optional('t21'): int,\n Optional('t22'): int,\n Optional('t23'): int,\n },\n Optional('channels'): {\n Optional('incoming_only'): str,\n Optional('two_way'): str,\n Optional('outgoing_only'): str,\n },\n Optional('restarts'): str,\n Optional('calls'): str,\n Optional('diags'): str,\n },\n Optional('lapb'): {\n Optional('dte'): bool,\n Optional('state'): str,\n Optional('modulo'): int,\n Optional('k'): int,\n Optional('n1'): int,\n Optional('n2'): int,\n Optional('t1'): int,\n Optional('t2'): int,\n Optional('t3'): int,\n Optional('t4'): int,\n Optional('vs'): int,\n Optional('vr'): int,\n Optional('tx_nr'): int,\n Optional('remote_vr'): int,\n Optional('retransmissions'): int,\n Optional('queues'): {\n Optional('u_s_frames'): int,\n Optional('i_frames'): int,\n Optional('unack'): int,\n Optional('retx'): int,\n },\n Optional('iframes'): str,\n Optional('rnrs'): str,\n Optional('rejs'): str,\n Optional('sabm_es'): str,\n Optional('frmrs'): str,\n Optional('discs'): str,\n },\n Optional('serial_signals'): {\n Optional('rts'): str,\n Optional('cts'): str,\n Optional('dtr'): str,\n Optional('dcd'): str,\n Optional('dsr'): str,\n },\n },\n}", "tokens": { "os": "ios" }, @@ -33250,12 +33360,12 @@ "doc": "parser for show interfaces\n show interfaces ", "module_name": "iosxe.show_interface", "package": "genie.libs.parser", - "schema": "{\n Any('*'): {\n Optional('oper_status'): str,\n Optional('line_protocol'): str,\n Optional('enabled'): bool,\n Optional('is_deleted'): bool,\n Optional('is_present'): bool,\n Optional('connected'): bool,\n Optional('err_disabled'): bool,\n Optional('suspended'): bool,\n Optional('description'): str,\n Optional('type'): str,\n Optional('link_state'): str,\n Optional('port_speed'): str,\n Optional('duplex_mode'): str,\n Optional('link_type'): str,\n Optional('media_type'): str,\n Optional('mtu'): int,\n Optional('maximum_active_vcs'): str,\n Optional('vcs_per_vp'): str,\n Optional('vc_idle_disconnect_time'): str,\n Optional('vc_auto_creation'): str,\n Optional('current_vccs'): str,\n Optional('aal5_crc_errors'): int,\n Optional('aal5_oversized_sdus'): int,\n Optional('aal5_sar_timeouts'): int,\n Optional('vaccess_status'): str,\n Optional('vaccess_loopback'): str,\n Optional('base_pppoatm'): str,\n Optional('dtr_pulsed'): str,\n Optional('sub_mtu'): int,\n Optional('medium'): str,\n Optional('reliability'): str,\n Optional('txload'): str,\n Optional('rxload'): str,\n Optional('mac_address'): str,\n Optional('phys_address'): str,\n Optional('delay'): int,\n Optional('carrier_delay'): int,\n Optional('carrier_delay_up'): int,\n Optional('carrier_delay_down'): int,\n Optional('keepalive'): int,\n Optional('auto_negotiate'): bool,\n Optional('arp_type'): str,\n Optional('arp_timeout'): str,\n Optional('last_input'): str,\n Optional('last_output'): str,\n Optional('output_hang'): str,\n Optional('autostate'): bool,\n Optional('tunnel_source_ip'): str,\n Optional('tunnel_source_interface'): str,\n Optional('tunnel_destination_ip'): str,\n Optional('tunnel_protocol'): str,\n Optional('tunnel_ttl'): int,\n Optional('tunnel_transport_mtu'): int,\n Optional('tunnel_transmit_bandwidth'): int,\n Optional('tunnel_receive_bandwidth'): int,\n Optional('tunnel_protection'): str,\n Optional('tunnel_profile'): str,\n Optional('carrier_transitions'): int,\n Optional('queues'): {\n Optional('input_queue_size'): int,\n Optional('input_queue_max'): int,\n Optional('input_queue_drops'): int,\n Optional('input_queue_flushes'): int,\n Optional('total_output_drop'): int,\n Optional('queue_strategy'): str,\n Optional('output_queue_size'): int,\n Optional('output_queue_max'): int,\n Optional('threshold'): int,\n Optional('drops'): int,\n },\n Optional('flow_control'): {\n Optional('receive'): bool,\n Optional('send'): bool,\n },\n Optional('port_channel'): {\n Optional('port_channel_member'): bool,\n Optional('port_channel_int'): str,\n Optional('port_channel_member_intfs'): list,\n Optional('active_members'): int,\n Optional('num_of_pf_jumbo_supported_members'): int,\n },\n Optional('bandwidth'): Or (, ),\n Optional('counters'): {\n Optional('rate'): {\n Optional('load_interval'): int,\n Optional('in_rate'): int,\n Optional('in_rate_pkts'): int,\n Optional('out_rate'): int,\n Optional('out_rate_pkts'): int,\n Optional('in_rate_bps'): int,\n Optional('in_rate_pps'): int,\n Optional('out_rate_bps'): int,\n Optional('out_rate_pps'): int,\n },\n Optional('in_multicast_pkts'): int,\n Optional('in_broadcast_pkts'): int,\n Optional('in_crc_errors'): int,\n Optional('in_giants'): int,\n Optional('in_pkts'): int,\n Optional('in_frame'): int,\n Optional('in_runts'): int,\n Optional('in_overrun'): int,\n Optional('in_ignored'): int,\n Optional('in_watchdog'): int,\n Optional('in_with_dribble'): int,\n Optional('in_octets'): int,\n Optional('in_errors'): int,\n Optional('in_abort'): int,\n Optional('in_no_buffer'): int,\n Optional('in_throttles'): int,\n Optional('in_mac_pause_frames'): int,\n Optional('in_drops'): int,\n Optional('out_pkts'): int,\n Optional('out_octets'): int,\n Optional('out_multicast_pkts'): int,\n Optional('out_broadcast_pkts'): int,\n Optional('out_errors'): int,\n Optional('out_collision'): int,\n Optional('out_interface_resets'): int,\n Optional('out_unknown_protocl_drops'): int,\n Optional('out_babbles'): int,\n Optional('out_deferred'): int,\n Optional('out_underruns'): int,\n Optional('out_late_collision'): int,\n Optional('out_lost_carrier'): int,\n Optional('out_no_carrier'): int,\n Optional('out_babble'): int,\n Optional('out_mac_pause_frames'): int,\n Optional('out_buffer_failure'): int,\n Optional('out_buffers_swapped'): int,\n Optional('out_drops'): int,\n Optional('last_clear'): str,\n },\n Optional('encapsulations'): {\n Optional('encapsulation'): str,\n Optional('first_dot1q'): str,\n Optional('second_dot1q'): str,\n Optional('native_vlan'): int,\n },\n Optional('ipv4'): {\n Any('*'): {\n Optional('ip'): str,\n Optional('prefix_length'): str,\n Optional('secondary'): bool,\n },\n Optional('unnumbered'): {\n 'interface_ref': str,\n },\n },\n Optional('peer_ip'): str,\n Optional('vc_id'): int,\n },\n}", + "schema": "{\n Any('*'): {\n Optional('oper_status'): str,\n Optional('line_protocol'): str,\n Optional('enabled'): bool,\n Optional('is_deleted'): bool,\n Optional('is_present'): bool,\n Optional('connected'): bool,\n Optional('err_disabled'): bool,\n Optional('suspended'): bool,\n Optional('description'): str,\n Optional('type'): str,\n Optional('link_state'): str,\n Optional('port_speed'): str,\n Optional('duplex_mode'): str,\n Optional('link_type'): str,\n Optional('media_type'): str,\n Optional('mtu'): int,\n Optional('maximum_active_vcs'): str,\n Optional('vcs_per_vp'): str,\n Optional('vc_idle_disconnect_time'): str,\n Optional('vc_auto_creation'): str,\n Optional('current_vccs'): str,\n Optional('aal5_crc_errors'): int,\n Optional('aal5_oversized_sdus'): int,\n Optional('aal5_sar_timeouts'): int,\n Optional('vaccess_status'): str,\n Optional('vaccess_loopback'): str,\n Optional('base_pppoatm'): str,\n Optional('dtr_pulsed'): str,\n Optional('sub_mtu'): int,\n Optional('medium'): str,\n Optional('reliability'): str,\n Optional('txload'): str,\n Optional('rxload'): str,\n Optional('mac_address'): str,\n Optional('phys_address'): str,\n Optional('delay'): int,\n Optional('carrier_delay'): int,\n Optional('carrier_delay_up'): int,\n Optional('carrier_delay_down'): int,\n Optional('keepalive'): int,\n Optional('auto_negotiate'): bool,\n Optional('arp_type'): str,\n Optional('arp_timeout'): str,\n Optional('last_input'): str,\n Optional('last_output'): str,\n Optional('output_hang'): str,\n Optional('autostate'): bool,\n Optional('tunnel_source_ip'): str,\n Optional('tunnel_source_interface'): str,\n Optional('tunnel_destination_ip'): str,\n Optional('tunnel_protocol'): str,\n Optional('tunnel_ttl'): int,\n Optional('tunnel_transport_mtu'): int,\n Optional('tunnel_transmit_bandwidth'): int,\n Optional('tunnel_receive_bandwidth'): int,\n Optional('tunnel_protection'): str,\n Optional('tunnel_profile'): str,\n Optional('carrier_transitions'): int,\n Optional('queues'): {\n Optional('input_queue_size'): int,\n Optional('input_queue_max'): int,\n Optional('input_queue_drops'): int,\n Optional('input_queue_flushes'): int,\n Optional('total_output_drop'): int,\n Optional('queue_strategy'): str,\n Optional('output_queue_size'): int,\n Optional('output_queue_max'): int,\n Optional('threshold'): int,\n Optional('drops'): int,\n },\n Optional('flow_control'): {\n Optional('receive'): bool,\n Optional('send'): bool,\n },\n Optional('port_channel'): {\n Optional('port_channel_member'): bool,\n Optional('port_channel_int'): str,\n Optional('port_channel_member_intfs'): list,\n Optional('active_members'): int,\n Optional('num_of_pf_jumbo_supported_members'): int,\n },\n Optional('bandwidth'): Or (, ),\n Optional('counters'): {\n Optional('rate'): {\n Optional('load_interval'): int,\n Optional('in_rate'): int,\n Optional('in_rate_pkts'): int,\n Optional('out_rate'): int,\n Optional('out_rate_pkts'): int,\n Optional('in_rate_bps'): int,\n Optional('in_rate_pps'): int,\n Optional('out_rate_bps'): int,\n Optional('out_rate_pps'): int,\n },\n Optional('in_multicast_pkts'): int,\n Optional('in_broadcast_pkts'): int,\n Optional('in_crc_errors'): int,\n Optional('in_giants'): int,\n Optional('in_pkts'): int,\n Optional('in_frame'): int,\n Optional('in_runts'): int,\n Optional('in_overrun'): int,\n Optional('in_ignored'): int,\n Optional('in_watchdog'): int,\n Optional('in_with_dribble'): int,\n Optional('in_octets'): int,\n Optional('in_errors'): int,\n Optional('in_abort'): int,\n Optional('in_no_buffer'): int,\n Optional('in_throttles'): int,\n Optional('in_mac_pause_frames'): int,\n Optional('in_drops'): int,\n Optional('out_pkts'): int,\n Optional('out_octets'): int,\n Optional('out_multicast_pkts'): int,\n Optional('out_broadcast_pkts'): int,\n Optional('out_errors'): int,\n Optional('out_collision'): int,\n Optional('out_interface_resets'): int,\n Optional('out_unknown_protocl_drops'): int,\n Optional('out_babbles'): int,\n Optional('out_deferred'): int,\n Optional('out_underruns'): int,\n Optional('out_late_collision'): int,\n Optional('out_lost_carrier'): int,\n Optional('out_no_carrier'): int,\n Optional('out_babble'): int,\n Optional('out_mac_pause_frames'): int,\n Optional('out_buffer_failure'): int,\n Optional('out_buffers_swapped'): int,\n Optional('out_drops'): int,\n Optional('last_clear'): str,\n },\n Optional('encapsulations'): {\n Optional('encapsulation'): str,\n Optional('first_dot1q'): str,\n Optional('second_dot1q'): str,\n Optional('native_vlan'): int,\n },\n Optional('ipv4'): {\n Any('*'): {\n Optional('ip'): str,\n Optional('prefix_length'): str,\n Optional('secondary'): bool,\n },\n Optional('unnumbered'): {\n 'interface_ref': str,\n },\n },\n Optional('peer_ip'): str,\n Optional('vc_id'): int,\n Optional('x25'): {\n Optional('dte'): bool,\n Optional('version'): str,\n Optional('address'): str,\n Optional('state'): str,\n Optional('modulo'): int,\n Optional('timer'): int,\n Optional('idle_vc_timeout'): int,\n Optional('encapsulation'): str,\n Optional('input_window_size'): int,\n Optional('output_window_size'): int,\n Optional('input_packet_size'): int,\n Optional('output_packet_size'): int,\n Optional('timers'): {\n Optional('t20'): int,\n Optional('t21'): int,\n Optional('t22'): int,\n Optional('t23'): int,\n },\n Optional('channels'): {\n Optional('incoming_only'): str,\n Optional('two_way'): str,\n Optional('outgoing_only'): str,\n },\n Optional('restarts'): str,\n Optional('calls'): str,\n Optional('diags'): str,\n },\n Optional('lapb'): {\n Optional('dte'): bool,\n Optional('state'): str,\n Optional('modulo'): int,\n Optional('k'): int,\n Optional('n1'): int,\n Optional('n2'): int,\n Optional('t1'): int,\n Optional('t2'): int,\n Optional('t3'): int,\n Optional('t4'): int,\n Optional('vs'): int,\n Optional('vr'): int,\n Optional('tx_nr'): int,\n Optional('remote_vr'): int,\n Optional('retransmissions'): int,\n Optional('queues'): {\n Optional('u_s_frames'): int,\n Optional('i_frames'): int,\n Optional('unack'): int,\n Optional('retx'): int,\n },\n Optional('iframes'): str,\n Optional('rnrs'): str,\n Optional('rejs'): str,\n Optional('sabm_es'): str,\n Optional('frmrs'): str,\n Optional('discs'): str,\n },\n Optional('serial_signals'): {\n Optional('rts'): str,\n Optional('cts'): str,\n Optional('dtr'): str,\n Optional('dcd'): str,\n Optional('dsr'): str,\n },\n },\n}", "tokens": { "os": "iosxe" }, "uid": "show_interfaces", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L239" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L303" }, "iosxr": { "class": "ShowInterfaces", @@ -33307,7 +33417,7 @@ "os": "iosxe" }, "uid": "show_interfaces_accounting", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L3553" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L3802" }, "iosxr": { "class": "ShowInterfacesAccounting", @@ -33367,7 +33477,7 @@ "os": "iosxe" }, "uid": "show_interfaces_capabilities", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L5506" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L5906" } } }, @@ -33427,7 +33537,7 @@ "os": "iosxe" }, "uid": "show_interfaces_description", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L3811" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4060" }, "iosxr": { "class": "ShowInterfacesDescription", @@ -33583,7 +33693,7 @@ "os": "iosxe" }, "uid": "show_interfaces_link", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L3664" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L3913" } } }, @@ -33599,7 +33709,7 @@ "os": "iosxe" }, "uid": "show_interfaces_mtu", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4433" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4682" } } }, @@ -33615,7 +33725,7 @@ "os": "iosxe" }, "uid": "show_interfaces_mtu_module_mod", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4433" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4682" } } }, @@ -33647,7 +33757,7 @@ "os": "iosxe" }, "uid": "show_interfaces_private-vlan_mapping", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L5310" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L5564" } } }, @@ -33723,7 +33833,7 @@ "os": "iosxe" }, "uid": "show_interfaces_stats", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L3744" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L3993" } } }, @@ -33751,7 +33861,7 @@ "os": "iosxe" }, "uid": "show_interfaces_status", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L3883" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4132" } } }, @@ -33767,7 +33877,7 @@ "os": "iosxe" }, "uid": "show_interfaces_status_err-disabled", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L3966" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4215" } } }, @@ -33783,7 +33893,7 @@ "os": "iosxe" }, "uid": "show_interfaces_status_module_mod", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4507" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4756" } } }, @@ -33799,7 +33909,7 @@ "os": "iosxe" }, "uid": "show_interfaces_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4367" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4616" } } }, @@ -33827,7 +33937,7 @@ "os": "iosxe" }, "uid": "show_interfaces_switchport", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L1733" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L1982" } } }, @@ -33903,7 +34013,7 @@ "os": "iosxe" }, "uid": "show_interfaces_transceiver", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4166" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4415" } } }, @@ -33945,7 +34055,7 @@ "os": "iosxe" }, "uid": "show_interfaces_transceiver_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4058" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4307" } } }, @@ -33977,7 +34087,7 @@ "os": "iosxe" }, "uid": "show_interfaces_transceiver_module_mod", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L5938" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L6338" } } }, @@ -33993,7 +34103,7 @@ "os": "iosxe" }, "uid": "show_interfaces_transceiver_properties", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L5789" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L6189" } } }, @@ -34009,7 +34119,7 @@ "os": "iosxe" }, "uid": "show_interfaces_transceiver_supported-list", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4664" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4913" } } }, @@ -34037,7 +34147,7 @@ "os": "iosxe" }, "uid": "show_interfaces_trunk", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L3397" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L3646" } } }, @@ -34069,7 +34179,7 @@ "os": "iosxe" }, "uid": "show_interfaces_interface_id_flowcontrol", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L5580" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L5980" } } }, @@ -34092,7 +34202,7 @@ "doc": "parser for show interfaces", "module_name": "ios.show_interface", "package": "genie.libs.parser", - "schema": "{\n Any('*'): {\n Optional('oper_status'): str,\n Optional('line_protocol'): str,\n Optional('enabled'): bool,\n Optional('is_deleted'): bool,\n Optional('is_present'): bool,\n Optional('connected'): bool,\n Optional('err_disabled'): bool,\n Optional('suspended'): bool,\n Optional('description'): str,\n Optional('type'): str,\n Optional('link_state'): str,\n Optional('port_speed'): str,\n Optional('duplex_mode'): str,\n Optional('link_type'): str,\n Optional('media_type'): str,\n Optional('mtu'): int,\n Optional('maximum_active_vcs'): str,\n Optional('vcs_per_vp'): str,\n Optional('vc_idle_disconnect_time'): str,\n Optional('vc_auto_creation'): str,\n Optional('current_vccs'): str,\n Optional('aal5_crc_errors'): int,\n Optional('aal5_oversized_sdus'): int,\n Optional('aal5_sar_timeouts'): int,\n Optional('vaccess_status'): str,\n Optional('vaccess_loopback'): str,\n Optional('base_pppoatm'): str,\n Optional('dtr_pulsed'): str,\n Optional('sub_mtu'): int,\n Optional('medium'): str,\n Optional('reliability'): str,\n Optional('txload'): str,\n Optional('rxload'): str,\n Optional('mac_address'): str,\n Optional('phys_address'): str,\n Optional('delay'): int,\n Optional('carrier_delay'): int,\n Optional('carrier_delay_up'): int,\n Optional('carrier_delay_down'): int,\n Optional('keepalive'): int,\n Optional('auto_negotiate'): bool,\n Optional('arp_type'): str,\n Optional('arp_timeout'): str,\n Optional('last_input'): str,\n Optional('last_output'): str,\n Optional('output_hang'): str,\n Optional('autostate'): bool,\n Optional('tunnel_source_ip'): str,\n Optional('tunnel_source_interface'): str,\n Optional('tunnel_destination_ip'): str,\n Optional('tunnel_protocol'): str,\n Optional('tunnel_ttl'): int,\n Optional('tunnel_transport_mtu'): int,\n Optional('tunnel_transmit_bandwidth'): int,\n Optional('tunnel_receive_bandwidth'): int,\n Optional('tunnel_protection'): str,\n Optional('tunnel_profile'): str,\n Optional('carrier_transitions'): int,\n Optional('queues'): {\n Optional('input_queue_size'): int,\n Optional('input_queue_max'): int,\n Optional('input_queue_drops'): int,\n Optional('input_queue_flushes'): int,\n Optional('total_output_drop'): int,\n Optional('queue_strategy'): str,\n Optional('output_queue_size'): int,\n Optional('output_queue_max'): int,\n Optional('threshold'): int,\n Optional('drops'): int,\n },\n Optional('flow_control'): {\n Optional('receive'): bool,\n Optional('send'): bool,\n },\n Optional('port_channel'): {\n Optional('port_channel_member'): bool,\n Optional('port_channel_int'): str,\n Optional('port_channel_member_intfs'): list,\n Optional('active_members'): int,\n Optional('num_of_pf_jumbo_supported_members'): int,\n },\n Optional('bandwidth'): Or (, ),\n Optional('counters'): {\n Optional('rate'): {\n Optional('load_interval'): int,\n Optional('in_rate'): int,\n Optional('in_rate_pkts'): int,\n Optional('out_rate'): int,\n Optional('out_rate_pkts'): int,\n Optional('in_rate_bps'): int,\n Optional('in_rate_pps'): int,\n Optional('out_rate_bps'): int,\n Optional('out_rate_pps'): int,\n },\n Optional('in_multicast_pkts'): int,\n Optional('in_broadcast_pkts'): int,\n Optional('in_crc_errors'): int,\n Optional('in_giants'): int,\n Optional('in_pkts'): int,\n Optional('in_frame'): int,\n Optional('in_runts'): int,\n Optional('in_overrun'): int,\n Optional('in_ignored'): int,\n Optional('in_watchdog'): int,\n Optional('in_with_dribble'): int,\n Optional('in_octets'): int,\n Optional('in_errors'): int,\n Optional('in_abort'): int,\n Optional('in_no_buffer'): int,\n Optional('in_throttles'): int,\n Optional('in_mac_pause_frames'): int,\n Optional('in_drops'): int,\n Optional('out_pkts'): int,\n Optional('out_octets'): int,\n Optional('out_multicast_pkts'): int,\n Optional('out_broadcast_pkts'): int,\n Optional('out_errors'): int,\n Optional('out_collision'): int,\n Optional('out_interface_resets'): int,\n Optional('out_unknown_protocl_drops'): int,\n Optional('out_babbles'): int,\n Optional('out_deferred'): int,\n Optional('out_underruns'): int,\n Optional('out_late_collision'): int,\n Optional('out_lost_carrier'): int,\n Optional('out_no_carrier'): int,\n Optional('out_babble'): int,\n Optional('out_mac_pause_frames'): int,\n Optional('out_buffer_failure'): int,\n Optional('out_buffers_swapped'): int,\n Optional('out_drops'): int,\n Optional('last_clear'): str,\n },\n Optional('encapsulations'): {\n Optional('encapsulation'): str,\n Optional('first_dot1q'): str,\n Optional('second_dot1q'): str,\n Optional('native_vlan'): int,\n },\n Optional('ipv4'): {\n Any('*'): {\n Optional('ip'): str,\n Optional('prefix_length'): str,\n Optional('secondary'): bool,\n },\n Optional('unnumbered'): {\n 'interface_ref': str,\n },\n },\n Optional('peer_ip'): str,\n Optional('vc_id'): int,\n },\n}", + "schema": "{\n Any('*'): {\n Optional('oper_status'): str,\n Optional('line_protocol'): str,\n Optional('enabled'): bool,\n Optional('is_deleted'): bool,\n Optional('is_present'): bool,\n Optional('connected'): bool,\n Optional('err_disabled'): bool,\n Optional('suspended'): bool,\n Optional('description'): str,\n Optional('type'): str,\n Optional('link_state'): str,\n Optional('port_speed'): str,\n Optional('duplex_mode'): str,\n Optional('link_type'): str,\n Optional('media_type'): str,\n Optional('mtu'): int,\n Optional('maximum_active_vcs'): str,\n Optional('vcs_per_vp'): str,\n Optional('vc_idle_disconnect_time'): str,\n Optional('vc_auto_creation'): str,\n Optional('current_vccs'): str,\n Optional('aal5_crc_errors'): int,\n Optional('aal5_oversized_sdus'): int,\n Optional('aal5_sar_timeouts'): int,\n Optional('vaccess_status'): str,\n Optional('vaccess_loopback'): str,\n Optional('base_pppoatm'): str,\n Optional('dtr_pulsed'): str,\n Optional('sub_mtu'): int,\n Optional('medium'): str,\n Optional('reliability'): str,\n Optional('txload'): str,\n Optional('rxload'): str,\n Optional('mac_address'): str,\n Optional('phys_address'): str,\n Optional('delay'): int,\n Optional('carrier_delay'): int,\n Optional('carrier_delay_up'): int,\n Optional('carrier_delay_down'): int,\n Optional('keepalive'): int,\n Optional('auto_negotiate'): bool,\n Optional('arp_type'): str,\n Optional('arp_timeout'): str,\n Optional('last_input'): str,\n Optional('last_output'): str,\n Optional('output_hang'): str,\n Optional('autostate'): bool,\n Optional('tunnel_source_ip'): str,\n Optional('tunnel_source_interface'): str,\n Optional('tunnel_destination_ip'): str,\n Optional('tunnel_protocol'): str,\n Optional('tunnel_ttl'): int,\n Optional('tunnel_transport_mtu'): int,\n Optional('tunnel_transmit_bandwidth'): int,\n Optional('tunnel_receive_bandwidth'): int,\n Optional('tunnel_protection'): str,\n Optional('tunnel_profile'): str,\n Optional('carrier_transitions'): int,\n Optional('queues'): {\n Optional('input_queue_size'): int,\n Optional('input_queue_max'): int,\n Optional('input_queue_drops'): int,\n Optional('input_queue_flushes'): int,\n Optional('total_output_drop'): int,\n Optional('queue_strategy'): str,\n Optional('output_queue_size'): int,\n Optional('output_queue_max'): int,\n Optional('threshold'): int,\n Optional('drops'): int,\n },\n Optional('flow_control'): {\n Optional('receive'): bool,\n Optional('send'): bool,\n },\n Optional('port_channel'): {\n Optional('port_channel_member'): bool,\n Optional('port_channel_int'): str,\n Optional('port_channel_member_intfs'): list,\n Optional('active_members'): int,\n Optional('num_of_pf_jumbo_supported_members'): int,\n },\n Optional('bandwidth'): Or (, ),\n Optional('counters'): {\n Optional('rate'): {\n Optional('load_interval'): int,\n Optional('in_rate'): int,\n Optional('in_rate_pkts'): int,\n Optional('out_rate'): int,\n Optional('out_rate_pkts'): int,\n Optional('in_rate_bps'): int,\n Optional('in_rate_pps'): int,\n Optional('out_rate_bps'): int,\n Optional('out_rate_pps'): int,\n },\n Optional('in_multicast_pkts'): int,\n Optional('in_broadcast_pkts'): int,\n Optional('in_crc_errors'): int,\n Optional('in_giants'): int,\n Optional('in_pkts'): int,\n Optional('in_frame'): int,\n Optional('in_runts'): int,\n Optional('in_overrun'): int,\n Optional('in_ignored'): int,\n Optional('in_watchdog'): int,\n Optional('in_with_dribble'): int,\n Optional('in_octets'): int,\n Optional('in_errors'): int,\n Optional('in_abort'): int,\n Optional('in_no_buffer'): int,\n Optional('in_throttles'): int,\n Optional('in_mac_pause_frames'): int,\n Optional('in_drops'): int,\n Optional('out_pkts'): int,\n Optional('out_octets'): int,\n Optional('out_multicast_pkts'): int,\n Optional('out_broadcast_pkts'): int,\n Optional('out_errors'): int,\n Optional('out_collision'): int,\n Optional('out_interface_resets'): int,\n Optional('out_unknown_protocl_drops'): int,\n Optional('out_babbles'): int,\n Optional('out_deferred'): int,\n Optional('out_underruns'): int,\n Optional('out_late_collision'): int,\n Optional('out_lost_carrier'): int,\n Optional('out_no_carrier'): int,\n Optional('out_babble'): int,\n Optional('out_mac_pause_frames'): int,\n Optional('out_buffer_failure'): int,\n Optional('out_buffers_swapped'): int,\n Optional('out_drops'): int,\n Optional('last_clear'): str,\n },\n Optional('encapsulations'): {\n Optional('encapsulation'): str,\n Optional('first_dot1q'): str,\n Optional('second_dot1q'): str,\n Optional('native_vlan'): int,\n },\n Optional('ipv4'): {\n Any('*'): {\n Optional('ip'): str,\n Optional('prefix_length'): str,\n Optional('secondary'): bool,\n },\n Optional('unnumbered'): {\n 'interface_ref': str,\n },\n },\n Optional('peer_ip'): str,\n Optional('vc_id'): int,\n Optional('x25'): {\n Optional('dte'): bool,\n Optional('version'): str,\n Optional('address'): str,\n Optional('state'): str,\n Optional('modulo'): int,\n Optional('timer'): int,\n Optional('idle_vc_timeout'): int,\n Optional('encapsulation'): str,\n Optional('input_window_size'): int,\n Optional('output_window_size'): int,\n Optional('input_packet_size'): int,\n Optional('output_packet_size'): int,\n Optional('timers'): {\n Optional('t20'): int,\n Optional('t21'): int,\n Optional('t22'): int,\n Optional('t23'): int,\n },\n Optional('channels'): {\n Optional('incoming_only'): str,\n Optional('two_way'): str,\n Optional('outgoing_only'): str,\n },\n Optional('restarts'): str,\n Optional('calls'): str,\n Optional('diags'): str,\n },\n Optional('lapb'): {\n Optional('dte'): bool,\n Optional('state'): str,\n Optional('modulo'): int,\n Optional('k'): int,\n Optional('n1'): int,\n Optional('n2'): int,\n Optional('t1'): int,\n Optional('t2'): int,\n Optional('t3'): int,\n Optional('t4'): int,\n Optional('vs'): int,\n Optional('vr'): int,\n Optional('tx_nr'): int,\n Optional('remote_vr'): int,\n Optional('retransmissions'): int,\n Optional('queues'): {\n Optional('u_s_frames'): int,\n Optional('i_frames'): int,\n Optional('unack'): int,\n Optional('retx'): int,\n },\n Optional('iframes'): str,\n Optional('rnrs'): str,\n Optional('rejs'): str,\n Optional('sabm_es'): str,\n Optional('frmrs'): str,\n Optional('discs'): str,\n },\n Optional('serial_signals'): {\n Optional('rts'): str,\n Optional('cts'): str,\n Optional('dtr'): str,\n Optional('dcd'): str,\n Optional('dsr'): str,\n },\n },\n}", "tokens": { "os": "ios" }, @@ -34104,12 +34214,12 @@ "doc": "parser for show interfaces\n show interfaces ", "module_name": "iosxe.show_interface", "package": "genie.libs.parser", - "schema": "{\n Any('*'): {\n Optional('oper_status'): str,\n Optional('line_protocol'): str,\n Optional('enabled'): bool,\n Optional('is_deleted'): bool,\n Optional('is_present'): bool,\n Optional('connected'): bool,\n Optional('err_disabled'): bool,\n Optional('suspended'): bool,\n Optional('description'): str,\n Optional('type'): str,\n Optional('link_state'): str,\n Optional('port_speed'): str,\n Optional('duplex_mode'): str,\n Optional('link_type'): str,\n Optional('media_type'): str,\n Optional('mtu'): int,\n Optional('maximum_active_vcs'): str,\n Optional('vcs_per_vp'): str,\n Optional('vc_idle_disconnect_time'): str,\n Optional('vc_auto_creation'): str,\n Optional('current_vccs'): str,\n Optional('aal5_crc_errors'): int,\n Optional('aal5_oversized_sdus'): int,\n Optional('aal5_sar_timeouts'): int,\n Optional('vaccess_status'): str,\n Optional('vaccess_loopback'): str,\n Optional('base_pppoatm'): str,\n Optional('dtr_pulsed'): str,\n Optional('sub_mtu'): int,\n Optional('medium'): str,\n Optional('reliability'): str,\n Optional('txload'): str,\n Optional('rxload'): str,\n Optional('mac_address'): str,\n Optional('phys_address'): str,\n Optional('delay'): int,\n Optional('carrier_delay'): int,\n Optional('carrier_delay_up'): int,\n Optional('carrier_delay_down'): int,\n Optional('keepalive'): int,\n Optional('auto_negotiate'): bool,\n Optional('arp_type'): str,\n Optional('arp_timeout'): str,\n Optional('last_input'): str,\n Optional('last_output'): str,\n Optional('output_hang'): str,\n Optional('autostate'): bool,\n Optional('tunnel_source_ip'): str,\n Optional('tunnel_source_interface'): str,\n Optional('tunnel_destination_ip'): str,\n Optional('tunnel_protocol'): str,\n Optional('tunnel_ttl'): int,\n Optional('tunnel_transport_mtu'): int,\n Optional('tunnel_transmit_bandwidth'): int,\n Optional('tunnel_receive_bandwidth'): int,\n Optional('tunnel_protection'): str,\n Optional('tunnel_profile'): str,\n Optional('carrier_transitions'): int,\n Optional('queues'): {\n Optional('input_queue_size'): int,\n Optional('input_queue_max'): int,\n Optional('input_queue_drops'): int,\n Optional('input_queue_flushes'): int,\n Optional('total_output_drop'): int,\n Optional('queue_strategy'): str,\n Optional('output_queue_size'): int,\n Optional('output_queue_max'): int,\n Optional('threshold'): int,\n Optional('drops'): int,\n },\n Optional('flow_control'): {\n Optional('receive'): bool,\n Optional('send'): bool,\n },\n Optional('port_channel'): {\n Optional('port_channel_member'): bool,\n Optional('port_channel_int'): str,\n Optional('port_channel_member_intfs'): list,\n Optional('active_members'): int,\n Optional('num_of_pf_jumbo_supported_members'): int,\n },\n Optional('bandwidth'): Or (, ),\n Optional('counters'): {\n Optional('rate'): {\n Optional('load_interval'): int,\n Optional('in_rate'): int,\n Optional('in_rate_pkts'): int,\n Optional('out_rate'): int,\n Optional('out_rate_pkts'): int,\n Optional('in_rate_bps'): int,\n Optional('in_rate_pps'): int,\n Optional('out_rate_bps'): int,\n Optional('out_rate_pps'): int,\n },\n Optional('in_multicast_pkts'): int,\n Optional('in_broadcast_pkts'): int,\n Optional('in_crc_errors'): int,\n Optional('in_giants'): int,\n Optional('in_pkts'): int,\n Optional('in_frame'): int,\n Optional('in_runts'): int,\n Optional('in_overrun'): int,\n Optional('in_ignored'): int,\n Optional('in_watchdog'): int,\n Optional('in_with_dribble'): int,\n Optional('in_octets'): int,\n Optional('in_errors'): int,\n Optional('in_abort'): int,\n Optional('in_no_buffer'): int,\n Optional('in_throttles'): int,\n Optional('in_mac_pause_frames'): int,\n Optional('in_drops'): int,\n Optional('out_pkts'): int,\n Optional('out_octets'): int,\n Optional('out_multicast_pkts'): int,\n Optional('out_broadcast_pkts'): int,\n Optional('out_errors'): int,\n Optional('out_collision'): int,\n Optional('out_interface_resets'): int,\n Optional('out_unknown_protocl_drops'): int,\n Optional('out_babbles'): int,\n Optional('out_deferred'): int,\n Optional('out_underruns'): int,\n Optional('out_late_collision'): int,\n Optional('out_lost_carrier'): int,\n Optional('out_no_carrier'): int,\n Optional('out_babble'): int,\n Optional('out_mac_pause_frames'): int,\n Optional('out_buffer_failure'): int,\n Optional('out_buffers_swapped'): int,\n Optional('out_drops'): int,\n Optional('last_clear'): str,\n },\n Optional('encapsulations'): {\n Optional('encapsulation'): str,\n Optional('first_dot1q'): str,\n Optional('second_dot1q'): str,\n Optional('native_vlan'): int,\n },\n Optional('ipv4'): {\n Any('*'): {\n Optional('ip'): str,\n Optional('prefix_length'): str,\n Optional('secondary'): bool,\n },\n Optional('unnumbered'): {\n 'interface_ref': str,\n },\n },\n Optional('peer_ip'): str,\n Optional('vc_id'): int,\n },\n}", + "schema": "{\n Any('*'): {\n Optional('oper_status'): str,\n Optional('line_protocol'): str,\n Optional('enabled'): bool,\n Optional('is_deleted'): bool,\n Optional('is_present'): bool,\n Optional('connected'): bool,\n Optional('err_disabled'): bool,\n Optional('suspended'): bool,\n Optional('description'): str,\n Optional('type'): str,\n Optional('link_state'): str,\n Optional('port_speed'): str,\n Optional('duplex_mode'): str,\n Optional('link_type'): str,\n Optional('media_type'): str,\n Optional('mtu'): int,\n Optional('maximum_active_vcs'): str,\n Optional('vcs_per_vp'): str,\n Optional('vc_idle_disconnect_time'): str,\n Optional('vc_auto_creation'): str,\n Optional('current_vccs'): str,\n Optional('aal5_crc_errors'): int,\n Optional('aal5_oversized_sdus'): int,\n Optional('aal5_sar_timeouts'): int,\n Optional('vaccess_status'): str,\n Optional('vaccess_loopback'): str,\n Optional('base_pppoatm'): str,\n Optional('dtr_pulsed'): str,\n Optional('sub_mtu'): int,\n Optional('medium'): str,\n Optional('reliability'): str,\n Optional('txload'): str,\n Optional('rxload'): str,\n Optional('mac_address'): str,\n Optional('phys_address'): str,\n Optional('delay'): int,\n Optional('carrier_delay'): int,\n Optional('carrier_delay_up'): int,\n Optional('carrier_delay_down'): int,\n Optional('keepalive'): int,\n Optional('auto_negotiate'): bool,\n Optional('arp_type'): str,\n Optional('arp_timeout'): str,\n Optional('last_input'): str,\n Optional('last_output'): str,\n Optional('output_hang'): str,\n Optional('autostate'): bool,\n Optional('tunnel_source_ip'): str,\n Optional('tunnel_source_interface'): str,\n Optional('tunnel_destination_ip'): str,\n Optional('tunnel_protocol'): str,\n Optional('tunnel_ttl'): int,\n Optional('tunnel_transport_mtu'): int,\n Optional('tunnel_transmit_bandwidth'): int,\n Optional('tunnel_receive_bandwidth'): int,\n Optional('tunnel_protection'): str,\n Optional('tunnel_profile'): str,\n Optional('carrier_transitions'): int,\n Optional('queues'): {\n Optional('input_queue_size'): int,\n Optional('input_queue_max'): int,\n Optional('input_queue_drops'): int,\n Optional('input_queue_flushes'): int,\n Optional('total_output_drop'): int,\n Optional('queue_strategy'): str,\n Optional('output_queue_size'): int,\n Optional('output_queue_max'): int,\n Optional('threshold'): int,\n Optional('drops'): int,\n },\n Optional('flow_control'): {\n Optional('receive'): bool,\n Optional('send'): bool,\n },\n Optional('port_channel'): {\n Optional('port_channel_member'): bool,\n Optional('port_channel_int'): str,\n Optional('port_channel_member_intfs'): list,\n Optional('active_members'): int,\n Optional('num_of_pf_jumbo_supported_members'): int,\n },\n Optional('bandwidth'): Or (, ),\n Optional('counters'): {\n Optional('rate'): {\n Optional('load_interval'): int,\n Optional('in_rate'): int,\n Optional('in_rate_pkts'): int,\n Optional('out_rate'): int,\n Optional('out_rate_pkts'): int,\n Optional('in_rate_bps'): int,\n Optional('in_rate_pps'): int,\n Optional('out_rate_bps'): int,\n Optional('out_rate_pps'): int,\n },\n Optional('in_multicast_pkts'): int,\n Optional('in_broadcast_pkts'): int,\n Optional('in_crc_errors'): int,\n Optional('in_giants'): int,\n Optional('in_pkts'): int,\n Optional('in_frame'): int,\n Optional('in_runts'): int,\n Optional('in_overrun'): int,\n Optional('in_ignored'): int,\n Optional('in_watchdog'): int,\n Optional('in_with_dribble'): int,\n Optional('in_octets'): int,\n Optional('in_errors'): int,\n Optional('in_abort'): int,\n Optional('in_no_buffer'): int,\n Optional('in_throttles'): int,\n Optional('in_mac_pause_frames'): int,\n Optional('in_drops'): int,\n Optional('out_pkts'): int,\n Optional('out_octets'): int,\n Optional('out_multicast_pkts'): int,\n Optional('out_broadcast_pkts'): int,\n Optional('out_errors'): int,\n Optional('out_collision'): int,\n Optional('out_interface_resets'): int,\n Optional('out_unknown_protocl_drops'): int,\n Optional('out_babbles'): int,\n Optional('out_deferred'): int,\n Optional('out_underruns'): int,\n Optional('out_late_collision'): int,\n Optional('out_lost_carrier'): int,\n Optional('out_no_carrier'): int,\n Optional('out_babble'): int,\n Optional('out_mac_pause_frames'): int,\n Optional('out_buffer_failure'): int,\n Optional('out_buffers_swapped'): int,\n Optional('out_drops'): int,\n Optional('last_clear'): str,\n },\n Optional('encapsulations'): {\n Optional('encapsulation'): str,\n Optional('first_dot1q'): str,\n Optional('second_dot1q'): str,\n Optional('native_vlan'): int,\n },\n Optional('ipv4'): {\n Any('*'): {\n Optional('ip'): str,\n Optional('prefix_length'): str,\n Optional('secondary'): bool,\n },\n Optional('unnumbered'): {\n 'interface_ref': str,\n },\n },\n Optional('peer_ip'): str,\n Optional('vc_id'): int,\n Optional('x25'): {\n Optional('dte'): bool,\n Optional('version'): str,\n Optional('address'): str,\n Optional('state'): str,\n Optional('modulo'): int,\n Optional('timer'): int,\n Optional('idle_vc_timeout'): int,\n Optional('encapsulation'): str,\n Optional('input_window_size'): int,\n Optional('output_window_size'): int,\n Optional('input_packet_size'): int,\n Optional('output_packet_size'): int,\n Optional('timers'): {\n Optional('t20'): int,\n Optional('t21'): int,\n Optional('t22'): int,\n Optional('t23'): int,\n },\n Optional('channels'): {\n Optional('incoming_only'): str,\n Optional('two_way'): str,\n Optional('outgoing_only'): str,\n },\n Optional('restarts'): str,\n Optional('calls'): str,\n Optional('diags'): str,\n },\n Optional('lapb'): {\n Optional('dte'): bool,\n Optional('state'): str,\n Optional('modulo'): int,\n Optional('k'): int,\n Optional('n1'): int,\n Optional('n2'): int,\n Optional('t1'): int,\n Optional('t2'): int,\n Optional('t3'): int,\n Optional('t4'): int,\n Optional('vs'): int,\n Optional('vr'): int,\n Optional('tx_nr'): int,\n Optional('remote_vr'): int,\n Optional('retransmissions'): int,\n Optional('queues'): {\n Optional('u_s_frames'): int,\n Optional('i_frames'): int,\n Optional('unack'): int,\n Optional('retx'): int,\n },\n Optional('iframes'): str,\n Optional('rnrs'): str,\n Optional('rejs'): str,\n Optional('sabm_es'): str,\n Optional('frmrs'): str,\n Optional('discs'): str,\n },\n Optional('serial_signals'): {\n Optional('rts'): str,\n Optional('cts'): str,\n Optional('dtr'): str,\n Optional('dcd'): str,\n Optional('dsr'): str,\n },\n },\n}", "tokens": { "os": "iosxe" }, "uid": "show_interfaces_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L239" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L303" }, "iosxr": { "class": "ShowInterfaces", @@ -34161,7 +34271,7 @@ "os": "iosxe" }, "uid": "show_interfaces_interface_accounting", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L3553" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L3802" }, "iosxr": { "class": "ShowInterfacesAccounting", @@ -34189,7 +34299,7 @@ "os": "iosxe" }, "uid": "show_interfaces_interface_capabilities", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L5506" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L5906" } } }, @@ -34205,7 +34315,7 @@ "os": "iosxe" }, "uid": "show_interfaces_interface_counter_etherchannel", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L3521" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L3770" } } }, @@ -34233,7 +34343,7 @@ "os": "iosxe" }, "uid": "show_interfaces_interface_counters", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L3478" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L3727" } } }, @@ -34277,7 +34387,7 @@ "os": "iosxe" }, "uid": "show_interfaces_interface_description", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L3811" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4060" }, "iosxr": { "class": "ShowInterfacesDescription", @@ -34337,7 +34447,7 @@ "os": "iosxe" }, "uid": "show_interfaces_interface_link", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L3664" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L3913" } } }, @@ -34353,7 +34463,7 @@ "os": "iosxe" }, "uid": "show_interfaces_interface_mtu", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4433" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4682" } } }, @@ -34381,7 +34491,7 @@ "os": "iosxe" }, "uid": "show_interfaces_interface_stats", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L3744" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L3993" } } }, @@ -34409,7 +34519,7 @@ "os": "iosxe" }, "uid": "show_interfaces_interface_status", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L3883" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4132" } } }, @@ -34425,7 +34535,7 @@ "os": "iosxe" }, "uid": "show_interfaces_interface_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4367" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4616" } } }, @@ -34453,7 +34563,7 @@ "os": "iosxe" }, "uid": "show_interfaces_interface_switchport", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L1733" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L1982" } } }, @@ -34497,7 +34607,7 @@ "os": "iosxe" }, "uid": "show_interfaces_interface_transceiver", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4166" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4415" } } }, @@ -34539,7 +34649,7 @@ "os": "iosxe" }, "uid": "show_interfaces_interface_transceiver_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4058" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4307" } } }, @@ -34550,7 +34660,7 @@ "doc": "parser for show interfaces", "module_name": "ios.show_interface", "package": "genie.libs.parser", - "schema": "{\n Any('*'): {\n Optional('oper_status'): str,\n Optional('line_protocol'): str,\n Optional('enabled'): bool,\n Optional('is_deleted'): bool,\n Optional('is_present'): bool,\n Optional('connected'): bool,\n Optional('err_disabled'): bool,\n Optional('suspended'): bool,\n Optional('description'): str,\n Optional('type'): str,\n Optional('link_state'): str,\n Optional('port_speed'): str,\n Optional('duplex_mode'): str,\n Optional('link_type'): str,\n Optional('media_type'): str,\n Optional('mtu'): int,\n Optional('maximum_active_vcs'): str,\n Optional('vcs_per_vp'): str,\n Optional('vc_idle_disconnect_time'): str,\n Optional('vc_auto_creation'): str,\n Optional('current_vccs'): str,\n Optional('aal5_crc_errors'): int,\n Optional('aal5_oversized_sdus'): int,\n Optional('aal5_sar_timeouts'): int,\n Optional('vaccess_status'): str,\n Optional('vaccess_loopback'): str,\n Optional('base_pppoatm'): str,\n Optional('dtr_pulsed'): str,\n Optional('sub_mtu'): int,\n Optional('medium'): str,\n Optional('reliability'): str,\n Optional('txload'): str,\n Optional('rxload'): str,\n Optional('mac_address'): str,\n Optional('phys_address'): str,\n Optional('delay'): int,\n Optional('carrier_delay'): int,\n Optional('carrier_delay_up'): int,\n Optional('carrier_delay_down'): int,\n Optional('keepalive'): int,\n Optional('auto_negotiate'): bool,\n Optional('arp_type'): str,\n Optional('arp_timeout'): str,\n Optional('last_input'): str,\n Optional('last_output'): str,\n Optional('output_hang'): str,\n Optional('autostate'): bool,\n Optional('tunnel_source_ip'): str,\n Optional('tunnel_source_interface'): str,\n Optional('tunnel_destination_ip'): str,\n Optional('tunnel_protocol'): str,\n Optional('tunnel_ttl'): int,\n Optional('tunnel_transport_mtu'): int,\n Optional('tunnel_transmit_bandwidth'): int,\n Optional('tunnel_receive_bandwidth'): int,\n Optional('tunnel_protection'): str,\n Optional('tunnel_profile'): str,\n Optional('carrier_transitions'): int,\n Optional('queues'): {\n Optional('input_queue_size'): int,\n Optional('input_queue_max'): int,\n Optional('input_queue_drops'): int,\n Optional('input_queue_flushes'): int,\n Optional('total_output_drop'): int,\n Optional('queue_strategy'): str,\n Optional('output_queue_size'): int,\n Optional('output_queue_max'): int,\n Optional('threshold'): int,\n Optional('drops'): int,\n },\n Optional('flow_control'): {\n Optional('receive'): bool,\n Optional('send'): bool,\n },\n Optional('port_channel'): {\n Optional('port_channel_member'): bool,\n Optional('port_channel_int'): str,\n Optional('port_channel_member_intfs'): list,\n Optional('active_members'): int,\n Optional('num_of_pf_jumbo_supported_members'): int,\n },\n Optional('bandwidth'): Or (, ),\n Optional('counters'): {\n Optional('rate'): {\n Optional('load_interval'): int,\n Optional('in_rate'): int,\n Optional('in_rate_pkts'): int,\n Optional('out_rate'): int,\n Optional('out_rate_pkts'): int,\n Optional('in_rate_bps'): int,\n Optional('in_rate_pps'): int,\n Optional('out_rate_bps'): int,\n Optional('out_rate_pps'): int,\n },\n Optional('in_multicast_pkts'): int,\n Optional('in_broadcast_pkts'): int,\n Optional('in_crc_errors'): int,\n Optional('in_giants'): int,\n Optional('in_pkts'): int,\n Optional('in_frame'): int,\n Optional('in_runts'): int,\n Optional('in_overrun'): int,\n Optional('in_ignored'): int,\n Optional('in_watchdog'): int,\n Optional('in_with_dribble'): int,\n Optional('in_octets'): int,\n Optional('in_errors'): int,\n Optional('in_abort'): int,\n Optional('in_no_buffer'): int,\n Optional('in_throttles'): int,\n Optional('in_mac_pause_frames'): int,\n Optional('in_drops'): int,\n Optional('out_pkts'): int,\n Optional('out_octets'): int,\n Optional('out_multicast_pkts'): int,\n Optional('out_broadcast_pkts'): int,\n Optional('out_errors'): int,\n Optional('out_collision'): int,\n Optional('out_interface_resets'): int,\n Optional('out_unknown_protocl_drops'): int,\n Optional('out_babbles'): int,\n Optional('out_deferred'): int,\n Optional('out_underruns'): int,\n Optional('out_late_collision'): int,\n Optional('out_lost_carrier'): int,\n Optional('out_no_carrier'): int,\n Optional('out_babble'): int,\n Optional('out_mac_pause_frames'): int,\n Optional('out_buffer_failure'): int,\n Optional('out_buffers_swapped'): int,\n Optional('out_drops'): int,\n Optional('last_clear'): str,\n },\n Optional('encapsulations'): {\n Optional('encapsulation'): str,\n Optional('first_dot1q'): str,\n Optional('second_dot1q'): str,\n Optional('native_vlan'): int,\n },\n Optional('ipv4'): {\n Any('*'): {\n Optional('ip'): str,\n Optional('prefix_length'): str,\n Optional('secondary'): bool,\n },\n Optional('unnumbered'): {\n 'interface_ref': str,\n },\n },\n Optional('peer_ip'): str,\n Optional('vc_id'): int,\n },\n}", + "schema": "{\n Any('*'): {\n Optional('oper_status'): str,\n Optional('line_protocol'): str,\n Optional('enabled'): bool,\n Optional('is_deleted'): bool,\n Optional('is_present'): bool,\n Optional('connected'): bool,\n Optional('err_disabled'): bool,\n Optional('suspended'): bool,\n Optional('description'): str,\n Optional('type'): str,\n Optional('link_state'): str,\n Optional('port_speed'): str,\n Optional('duplex_mode'): str,\n Optional('link_type'): str,\n Optional('media_type'): str,\n Optional('mtu'): int,\n Optional('maximum_active_vcs'): str,\n Optional('vcs_per_vp'): str,\n Optional('vc_idle_disconnect_time'): str,\n Optional('vc_auto_creation'): str,\n Optional('current_vccs'): str,\n Optional('aal5_crc_errors'): int,\n Optional('aal5_oversized_sdus'): int,\n Optional('aal5_sar_timeouts'): int,\n Optional('vaccess_status'): str,\n Optional('vaccess_loopback'): str,\n Optional('base_pppoatm'): str,\n Optional('dtr_pulsed'): str,\n Optional('sub_mtu'): int,\n Optional('medium'): str,\n Optional('reliability'): str,\n Optional('txload'): str,\n Optional('rxload'): str,\n Optional('mac_address'): str,\n Optional('phys_address'): str,\n Optional('delay'): int,\n Optional('carrier_delay'): int,\n Optional('carrier_delay_up'): int,\n Optional('carrier_delay_down'): int,\n Optional('keepalive'): int,\n Optional('auto_negotiate'): bool,\n Optional('arp_type'): str,\n Optional('arp_timeout'): str,\n Optional('last_input'): str,\n Optional('last_output'): str,\n Optional('output_hang'): str,\n Optional('autostate'): bool,\n Optional('tunnel_source_ip'): str,\n Optional('tunnel_source_interface'): str,\n Optional('tunnel_destination_ip'): str,\n Optional('tunnel_protocol'): str,\n Optional('tunnel_ttl'): int,\n Optional('tunnel_transport_mtu'): int,\n Optional('tunnel_transmit_bandwidth'): int,\n Optional('tunnel_receive_bandwidth'): int,\n Optional('tunnel_protection'): str,\n Optional('tunnel_profile'): str,\n Optional('carrier_transitions'): int,\n Optional('queues'): {\n Optional('input_queue_size'): int,\n Optional('input_queue_max'): int,\n Optional('input_queue_drops'): int,\n Optional('input_queue_flushes'): int,\n Optional('total_output_drop'): int,\n Optional('queue_strategy'): str,\n Optional('output_queue_size'): int,\n Optional('output_queue_max'): int,\n Optional('threshold'): int,\n Optional('drops'): int,\n },\n Optional('flow_control'): {\n Optional('receive'): bool,\n Optional('send'): bool,\n },\n Optional('port_channel'): {\n Optional('port_channel_member'): bool,\n Optional('port_channel_int'): str,\n Optional('port_channel_member_intfs'): list,\n Optional('active_members'): int,\n Optional('num_of_pf_jumbo_supported_members'): int,\n },\n Optional('bandwidth'): Or (, ),\n Optional('counters'): {\n Optional('rate'): {\n Optional('load_interval'): int,\n Optional('in_rate'): int,\n Optional('in_rate_pkts'): int,\n Optional('out_rate'): int,\n Optional('out_rate_pkts'): int,\n Optional('in_rate_bps'): int,\n Optional('in_rate_pps'): int,\n Optional('out_rate_bps'): int,\n Optional('out_rate_pps'): int,\n },\n Optional('in_multicast_pkts'): int,\n Optional('in_broadcast_pkts'): int,\n Optional('in_crc_errors'): int,\n Optional('in_giants'): int,\n Optional('in_pkts'): int,\n Optional('in_frame'): int,\n Optional('in_runts'): int,\n Optional('in_overrun'): int,\n Optional('in_ignored'): int,\n Optional('in_watchdog'): int,\n Optional('in_with_dribble'): int,\n Optional('in_octets'): int,\n Optional('in_errors'): int,\n Optional('in_abort'): int,\n Optional('in_no_buffer'): int,\n Optional('in_throttles'): int,\n Optional('in_mac_pause_frames'): int,\n Optional('in_drops'): int,\n Optional('out_pkts'): int,\n Optional('out_octets'): int,\n Optional('out_multicast_pkts'): int,\n Optional('out_broadcast_pkts'): int,\n Optional('out_errors'): int,\n Optional('out_collision'): int,\n Optional('out_interface_resets'): int,\n Optional('out_unknown_protocl_drops'): int,\n Optional('out_babbles'): int,\n Optional('out_deferred'): int,\n Optional('out_underruns'): int,\n Optional('out_late_collision'): int,\n Optional('out_lost_carrier'): int,\n Optional('out_no_carrier'): int,\n Optional('out_babble'): int,\n Optional('out_mac_pause_frames'): int,\n Optional('out_buffer_failure'): int,\n Optional('out_buffers_swapped'): int,\n Optional('out_drops'): int,\n Optional('last_clear'): str,\n },\n Optional('encapsulations'): {\n Optional('encapsulation'): str,\n Optional('first_dot1q'): str,\n Optional('second_dot1q'): str,\n Optional('native_vlan'): int,\n },\n Optional('ipv4'): {\n Any('*'): {\n Optional('ip'): str,\n Optional('prefix_length'): str,\n Optional('secondary'): bool,\n },\n Optional('unnumbered'): {\n 'interface_ref': str,\n },\n },\n Optional('peer_ip'): str,\n Optional('vc_id'): int,\n Optional('x25'): {\n Optional('dte'): bool,\n Optional('version'): str,\n Optional('address'): str,\n Optional('state'): str,\n Optional('modulo'): int,\n Optional('timer'): int,\n Optional('idle_vc_timeout'): int,\n Optional('encapsulation'): str,\n Optional('input_window_size'): int,\n Optional('output_window_size'): int,\n Optional('input_packet_size'): int,\n Optional('output_packet_size'): int,\n Optional('timers'): {\n Optional('t20'): int,\n Optional('t21'): int,\n Optional('t22'): int,\n Optional('t23'): int,\n },\n Optional('channels'): {\n Optional('incoming_only'): str,\n Optional('two_way'): str,\n Optional('outgoing_only'): str,\n },\n Optional('restarts'): str,\n Optional('calls'): str,\n Optional('diags'): str,\n },\n Optional('lapb'): {\n Optional('dte'): bool,\n Optional('state'): str,\n Optional('modulo'): int,\n Optional('k'): int,\n Optional('n1'): int,\n Optional('n2'): int,\n Optional('t1'): int,\n Optional('t2'): int,\n Optional('t3'): int,\n Optional('t4'): int,\n Optional('vs'): int,\n Optional('vr'): int,\n Optional('tx_nr'): int,\n Optional('remote_vr'): int,\n Optional('retransmissions'): int,\n Optional('queues'): {\n Optional('u_s_frames'): int,\n Optional('i_frames'): int,\n Optional('unack'): int,\n Optional('retx'): int,\n },\n Optional('iframes'): str,\n Optional('rnrs'): str,\n Optional('rejs'): str,\n Optional('sabm_es'): str,\n Optional('frmrs'): str,\n Optional('discs'): str,\n },\n Optional('serial_signals'): {\n Optional('rts'): str,\n Optional('cts'): str,\n Optional('dtr'): str,\n Optional('dcd'): str,\n Optional('dsr'): str,\n },\n },\n}", "tokens": { "os": "ios" }, @@ -34562,12 +34672,12 @@ "doc": "parser for show interfaces\n show interfaces ", "module_name": "iosxe.show_interface", "package": "genie.libs.parser", - "schema": "{\n Any('*'): {\n Optional('oper_status'): str,\n Optional('line_protocol'): str,\n Optional('enabled'): bool,\n Optional('is_deleted'): bool,\n Optional('is_present'): bool,\n Optional('connected'): bool,\n Optional('err_disabled'): bool,\n Optional('suspended'): bool,\n Optional('description'): str,\n Optional('type'): str,\n Optional('link_state'): str,\n Optional('port_speed'): str,\n Optional('duplex_mode'): str,\n Optional('link_type'): str,\n Optional('media_type'): str,\n Optional('mtu'): int,\n Optional('maximum_active_vcs'): str,\n Optional('vcs_per_vp'): str,\n Optional('vc_idle_disconnect_time'): str,\n Optional('vc_auto_creation'): str,\n Optional('current_vccs'): str,\n Optional('aal5_crc_errors'): int,\n Optional('aal5_oversized_sdus'): int,\n Optional('aal5_sar_timeouts'): int,\n Optional('vaccess_status'): str,\n Optional('vaccess_loopback'): str,\n Optional('base_pppoatm'): str,\n Optional('dtr_pulsed'): str,\n Optional('sub_mtu'): int,\n Optional('medium'): str,\n Optional('reliability'): str,\n Optional('txload'): str,\n Optional('rxload'): str,\n Optional('mac_address'): str,\n Optional('phys_address'): str,\n Optional('delay'): int,\n Optional('carrier_delay'): int,\n Optional('carrier_delay_up'): int,\n Optional('carrier_delay_down'): int,\n Optional('keepalive'): int,\n Optional('auto_negotiate'): bool,\n Optional('arp_type'): str,\n Optional('arp_timeout'): str,\n Optional('last_input'): str,\n Optional('last_output'): str,\n Optional('output_hang'): str,\n Optional('autostate'): bool,\n Optional('tunnel_source_ip'): str,\n Optional('tunnel_source_interface'): str,\n Optional('tunnel_destination_ip'): str,\n Optional('tunnel_protocol'): str,\n Optional('tunnel_ttl'): int,\n Optional('tunnel_transport_mtu'): int,\n Optional('tunnel_transmit_bandwidth'): int,\n Optional('tunnel_receive_bandwidth'): int,\n Optional('tunnel_protection'): str,\n Optional('tunnel_profile'): str,\n Optional('carrier_transitions'): int,\n Optional('queues'): {\n Optional('input_queue_size'): int,\n Optional('input_queue_max'): int,\n Optional('input_queue_drops'): int,\n Optional('input_queue_flushes'): int,\n Optional('total_output_drop'): int,\n Optional('queue_strategy'): str,\n Optional('output_queue_size'): int,\n Optional('output_queue_max'): int,\n Optional('threshold'): int,\n Optional('drops'): int,\n },\n Optional('flow_control'): {\n Optional('receive'): bool,\n Optional('send'): bool,\n },\n Optional('port_channel'): {\n Optional('port_channel_member'): bool,\n Optional('port_channel_int'): str,\n Optional('port_channel_member_intfs'): list,\n Optional('active_members'): int,\n Optional('num_of_pf_jumbo_supported_members'): int,\n },\n Optional('bandwidth'): Or (, ),\n Optional('counters'): {\n Optional('rate'): {\n Optional('load_interval'): int,\n Optional('in_rate'): int,\n Optional('in_rate_pkts'): int,\n Optional('out_rate'): int,\n Optional('out_rate_pkts'): int,\n Optional('in_rate_bps'): int,\n Optional('in_rate_pps'): int,\n Optional('out_rate_bps'): int,\n Optional('out_rate_pps'): int,\n },\n Optional('in_multicast_pkts'): int,\n Optional('in_broadcast_pkts'): int,\n Optional('in_crc_errors'): int,\n Optional('in_giants'): int,\n Optional('in_pkts'): int,\n Optional('in_frame'): int,\n Optional('in_runts'): int,\n Optional('in_overrun'): int,\n Optional('in_ignored'): int,\n Optional('in_watchdog'): int,\n Optional('in_with_dribble'): int,\n Optional('in_octets'): int,\n Optional('in_errors'): int,\n Optional('in_abort'): int,\n Optional('in_no_buffer'): int,\n Optional('in_throttles'): int,\n Optional('in_mac_pause_frames'): int,\n Optional('in_drops'): int,\n Optional('out_pkts'): int,\n Optional('out_octets'): int,\n Optional('out_multicast_pkts'): int,\n Optional('out_broadcast_pkts'): int,\n Optional('out_errors'): int,\n Optional('out_collision'): int,\n Optional('out_interface_resets'): int,\n Optional('out_unknown_protocl_drops'): int,\n Optional('out_babbles'): int,\n Optional('out_deferred'): int,\n Optional('out_underruns'): int,\n Optional('out_late_collision'): int,\n Optional('out_lost_carrier'): int,\n Optional('out_no_carrier'): int,\n Optional('out_babble'): int,\n Optional('out_mac_pause_frames'): int,\n Optional('out_buffer_failure'): int,\n Optional('out_buffers_swapped'): int,\n Optional('out_drops'): int,\n Optional('last_clear'): str,\n },\n Optional('encapsulations'): {\n Optional('encapsulation'): str,\n Optional('first_dot1q'): str,\n Optional('second_dot1q'): str,\n Optional('native_vlan'): int,\n },\n Optional('ipv4'): {\n Any('*'): {\n Optional('ip'): str,\n Optional('prefix_length'): str,\n Optional('secondary'): bool,\n },\n Optional('unnumbered'): {\n 'interface_ref': str,\n },\n },\n Optional('peer_ip'): str,\n Optional('vc_id'): int,\n },\n}", + "schema": "{\n Any('*'): {\n Optional('oper_status'): str,\n Optional('line_protocol'): str,\n Optional('enabled'): bool,\n Optional('is_deleted'): bool,\n Optional('is_present'): bool,\n Optional('connected'): bool,\n Optional('err_disabled'): bool,\n Optional('suspended'): bool,\n Optional('description'): str,\n Optional('type'): str,\n Optional('link_state'): str,\n Optional('port_speed'): str,\n Optional('duplex_mode'): str,\n Optional('link_type'): str,\n Optional('media_type'): str,\n Optional('mtu'): int,\n Optional('maximum_active_vcs'): str,\n Optional('vcs_per_vp'): str,\n Optional('vc_idle_disconnect_time'): str,\n Optional('vc_auto_creation'): str,\n Optional('current_vccs'): str,\n Optional('aal5_crc_errors'): int,\n Optional('aal5_oversized_sdus'): int,\n Optional('aal5_sar_timeouts'): int,\n Optional('vaccess_status'): str,\n Optional('vaccess_loopback'): str,\n Optional('base_pppoatm'): str,\n Optional('dtr_pulsed'): str,\n Optional('sub_mtu'): int,\n Optional('medium'): str,\n Optional('reliability'): str,\n Optional('txload'): str,\n Optional('rxload'): str,\n Optional('mac_address'): str,\n Optional('phys_address'): str,\n Optional('delay'): int,\n Optional('carrier_delay'): int,\n Optional('carrier_delay_up'): int,\n Optional('carrier_delay_down'): int,\n Optional('keepalive'): int,\n Optional('auto_negotiate'): bool,\n Optional('arp_type'): str,\n Optional('arp_timeout'): str,\n Optional('last_input'): str,\n Optional('last_output'): str,\n Optional('output_hang'): str,\n Optional('autostate'): bool,\n Optional('tunnel_source_ip'): str,\n Optional('tunnel_source_interface'): str,\n Optional('tunnel_destination_ip'): str,\n Optional('tunnel_protocol'): str,\n Optional('tunnel_ttl'): int,\n Optional('tunnel_transport_mtu'): int,\n Optional('tunnel_transmit_bandwidth'): int,\n Optional('tunnel_receive_bandwidth'): int,\n Optional('tunnel_protection'): str,\n Optional('tunnel_profile'): str,\n Optional('carrier_transitions'): int,\n Optional('queues'): {\n Optional('input_queue_size'): int,\n Optional('input_queue_max'): int,\n Optional('input_queue_drops'): int,\n Optional('input_queue_flushes'): int,\n Optional('total_output_drop'): int,\n Optional('queue_strategy'): str,\n Optional('output_queue_size'): int,\n Optional('output_queue_max'): int,\n Optional('threshold'): int,\n Optional('drops'): int,\n },\n Optional('flow_control'): {\n Optional('receive'): bool,\n Optional('send'): bool,\n },\n Optional('port_channel'): {\n Optional('port_channel_member'): bool,\n Optional('port_channel_int'): str,\n Optional('port_channel_member_intfs'): list,\n Optional('active_members'): int,\n Optional('num_of_pf_jumbo_supported_members'): int,\n },\n Optional('bandwidth'): Or (, ),\n Optional('counters'): {\n Optional('rate'): {\n Optional('load_interval'): int,\n Optional('in_rate'): int,\n Optional('in_rate_pkts'): int,\n Optional('out_rate'): int,\n Optional('out_rate_pkts'): int,\n Optional('in_rate_bps'): int,\n Optional('in_rate_pps'): int,\n Optional('out_rate_bps'): int,\n Optional('out_rate_pps'): int,\n },\n Optional('in_multicast_pkts'): int,\n Optional('in_broadcast_pkts'): int,\n Optional('in_crc_errors'): int,\n Optional('in_giants'): int,\n Optional('in_pkts'): int,\n Optional('in_frame'): int,\n Optional('in_runts'): int,\n Optional('in_overrun'): int,\n Optional('in_ignored'): int,\n Optional('in_watchdog'): int,\n Optional('in_with_dribble'): int,\n Optional('in_octets'): int,\n Optional('in_errors'): int,\n Optional('in_abort'): int,\n Optional('in_no_buffer'): int,\n Optional('in_throttles'): int,\n Optional('in_mac_pause_frames'): int,\n Optional('in_drops'): int,\n Optional('out_pkts'): int,\n Optional('out_octets'): int,\n Optional('out_multicast_pkts'): int,\n Optional('out_broadcast_pkts'): int,\n Optional('out_errors'): int,\n Optional('out_collision'): int,\n Optional('out_interface_resets'): int,\n Optional('out_unknown_protocl_drops'): int,\n Optional('out_babbles'): int,\n Optional('out_deferred'): int,\n Optional('out_underruns'): int,\n Optional('out_late_collision'): int,\n Optional('out_lost_carrier'): int,\n Optional('out_no_carrier'): int,\n Optional('out_babble'): int,\n Optional('out_mac_pause_frames'): int,\n Optional('out_buffer_failure'): int,\n Optional('out_buffers_swapped'): int,\n Optional('out_drops'): int,\n Optional('last_clear'): str,\n },\n Optional('encapsulations'): {\n Optional('encapsulation'): str,\n Optional('first_dot1q'): str,\n Optional('second_dot1q'): str,\n Optional('native_vlan'): int,\n },\n Optional('ipv4'): {\n Any('*'): {\n Optional('ip'): str,\n Optional('prefix_length'): str,\n Optional('secondary'): bool,\n },\n Optional('unnumbered'): {\n 'interface_ref': str,\n },\n },\n Optional('peer_ip'): str,\n Optional('vc_id'): int,\n Optional('x25'): {\n Optional('dte'): bool,\n Optional('version'): str,\n Optional('address'): str,\n Optional('state'): str,\n Optional('modulo'): int,\n Optional('timer'): int,\n Optional('idle_vc_timeout'): int,\n Optional('encapsulation'): str,\n Optional('input_window_size'): int,\n Optional('output_window_size'): int,\n Optional('input_packet_size'): int,\n Optional('output_packet_size'): int,\n Optional('timers'): {\n Optional('t20'): int,\n Optional('t21'): int,\n Optional('t22'): int,\n Optional('t23'): int,\n },\n Optional('channels'): {\n Optional('incoming_only'): str,\n Optional('two_way'): str,\n Optional('outgoing_only'): str,\n },\n Optional('restarts'): str,\n Optional('calls'): str,\n Optional('diags'): str,\n },\n Optional('lapb'): {\n Optional('dte'): bool,\n Optional('state'): str,\n Optional('modulo'): int,\n Optional('k'): int,\n Optional('n1'): int,\n Optional('n2'): int,\n Optional('t1'): int,\n Optional('t2'): int,\n Optional('t3'): int,\n Optional('t4'): int,\n Optional('vs'): int,\n Optional('vr'): int,\n Optional('tx_nr'): int,\n Optional('remote_vr'): int,\n Optional('retransmissions'): int,\n Optional('queues'): {\n Optional('u_s_frames'): int,\n Optional('i_frames'): int,\n Optional('unack'): int,\n Optional('retx'): int,\n },\n Optional('iframes'): str,\n Optional('rnrs'): str,\n Optional('rejs'): str,\n Optional('sabm_es'): str,\n Optional('frmrs'): str,\n Optional('discs'): str,\n },\n Optional('serial_signals'): {\n Optional('rts'): str,\n Optional('cts'): str,\n Optional('dtr'): str,\n Optional('dcd'): str,\n Optional('dsr'): str,\n },\n },\n}", "tokens": { "os": "iosxe" }, "uid": "show_interfaces___include_include", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L239" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L303" } } }, @@ -34777,7 +34887,7 @@ "os": "iosxe" }, "uid": "show_inventory", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L2115" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L2116" }, "iosxr": { "class": "ShowInventory", @@ -34789,7 +34899,7 @@ "os": "iosxr" }, "uid": "show_inventory", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L982" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L992" }, "nxos": { "class": "ShowInventory", @@ -35362,7 +35472,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L137" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L139" } } }, @@ -35378,7 +35488,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_all", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L70" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L72" } } }, @@ -35406,7 +35516,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_all_dampening_parameters", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L1491" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L1493" } } }, @@ -35422,7 +35532,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_all_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L204" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L206" } } }, @@ -35438,7 +35548,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_all_neighbors", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L470" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L472" } } }, @@ -35454,7 +35564,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_all_neighbors_neighbor", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L470" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L472" } } }, @@ -35470,7 +35580,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_all_neighbors_neighbor_advertised-routes", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L610" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L612" } } }, @@ -35486,7 +35596,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_all_neighbors_neighbor_received-routes", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L706" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L708" } } }, @@ -35502,7 +35612,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_all_neighbors_neighbor_routes", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L779" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L781" } } }, @@ -35518,7 +35628,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_all_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L432" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L434" } } }, @@ -35534,7 +35644,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_neighbors", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L531" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L533" } } }, @@ -35550,7 +35660,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_neighbors_neighbor", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L531" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L533" } } }, @@ -35566,7 +35676,23 @@ "os": "iosxe" }, "uid": "show_ip_bgp_neighbors_neighbor_advertised-routes", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L656" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L658" + } + } + }, + "show ip bgp neighbors {neighbor} received prefix-filter": { + "folders": { + "iosxe": { + "class": "ShowIpBgpNeighborReceivedPrefixFilter", + "doc": "Parser for:\n * 'show ip bgp neighbors {neighbor} received prefix-filter'\n * 'show ip bgp {address_family} vrf {vrf} neighbors {neighbor} received prefix-filter'\n ", + "module_name": "iosxe.show_ip_bgp", + "package": "genie.libs.parser", + "schema": "{\n 'address_family': {\n Any('*'): {\n 'ip_prefix_list': {\n Any('*'): {\n 'entries': int,\n 'sequences': {\n Any('*'): {\n 'action': str,\n 'prefix': str,\n },\n },\n },\n },\n },\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_ip_bgp_neighbors_neighbor_received_prefix-filter", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L1693" } } }, @@ -35582,7 +35708,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_neighbors_neighbor_received-routes", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L741" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L743" } } }, @@ -35598,7 +35724,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_neighbors_neighbor_routes", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L815" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L817" } } }, @@ -35626,7 +35752,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_regexp_regexp", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L180" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L182" } } }, @@ -35642,7 +35768,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L385" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L387" } } }, @@ -35670,7 +35796,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_template_peer-policy", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L1198" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L1200" } } }, @@ -35698,7 +35824,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_template_peer-policy_template_name", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L1198" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L1200" } } }, @@ -35726,7 +35852,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_template_peer-session", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L908" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L910" } } }, @@ -35754,7 +35880,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_template_peer-session_template_name", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L908" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L910" } } }, @@ -35770,7 +35896,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L103" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L105" } } }, @@ -35786,7 +35912,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_all", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L70" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L72" } } }, @@ -35802,7 +35928,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_all_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L236" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L238" } } }, @@ -35818,7 +35944,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_all_neighbors", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L470" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L472" } } }, @@ -35834,7 +35960,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_all_neighbors_neighbor", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L470" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L472" } } }, @@ -35850,7 +35976,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_all_neighbors_neighbor_advertised-routes", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L610" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L612" } } }, @@ -35866,7 +35992,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_all_neighbors_neighbor_received-routes", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L706" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L708" } } }, @@ -35882,7 +36008,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_all_neighbors_neighbor_routes", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L779" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L781" } } }, @@ -35898,7 +36024,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_all_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L432" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L434" } } }, @@ -35914,7 +36040,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L295" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L297" } } }, @@ -35930,7 +36056,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_evi_evi_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L295" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L297" } } }, @@ -35946,7 +36072,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_evi_evi_route-type_rt", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L295" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L297" } } }, @@ -35962,7 +36088,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_evi_evi_route-type_rt_esi", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L295" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L297" } } }, @@ -35978,7 +36104,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_evi_evi_route-type_rt_esi_eti", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L295" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L297" } } }, @@ -35994,7 +36120,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_evi_evi_route-type_rt_esi_eti_mac_ip", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L295" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L297" } } }, @@ -36010,7 +36136,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_evi_evi_route-type_rt_esi_eti_mpls_label", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L295" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L297" } } }, @@ -36026,7 +36152,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_evi_evi_route-type_rt_esi_eti_src_ip_group_ip_orig_ip", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L295" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L297" } } }, @@ -36042,7 +36168,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_evi_evi_route-type_rt_esi_eti_src_ip_group_ip_orig_ip_lg_sync", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L295" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L297" } } }, @@ -36058,7 +36184,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_evi_evi_route-type_rt_esi_ip", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L295" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L297" } } }, @@ -36074,7 +36200,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_evi_evi_route-type_rt_eti_ip", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L295" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L297" } } }, @@ -36090,7 +36216,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_evi_evi_route-type_rt_eti_ip_ip_len", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L295" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L297" } } }, @@ -36106,7 +36232,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_evi_evi_route-type_rt_eti_mac_ip", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L295" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L297" } } }, @@ -36122,7 +36248,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_evi_evi_route-type_rt_eti_src_ip_group_ip_orig_ip", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L295" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L297" } } }, @@ -36138,7 +36264,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_mdt_vrf_vrf", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L1649" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L1651" } } }, @@ -36154,7 +36280,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_neighbors", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L531" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L533" } } }, @@ -36170,7 +36296,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_neighbors_neighbor", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L531" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L533" } } }, @@ -36186,7 +36312,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_neighbors_neighbor_advertised-routes", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L656" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L658" } } }, @@ -36202,7 +36328,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_neighbors_neighbor_received-routes", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L741" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L743" } } }, @@ -36218,7 +36344,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_neighbors_neighbor_routes", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L815" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L817" } } }, @@ -36246,7 +36372,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_rd_rd", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L137" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L139" } } }, @@ -36262,7 +36388,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_rd_rd_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L236" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L238" } } }, @@ -36278,7 +36404,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_rd_rd_neighbors_neighbor_advertised-routes", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L656" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L658" } } }, @@ -36294,7 +36420,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_rd_rd_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L385" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L387" } } }, @@ -36310,7 +36436,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_rd_rd_route", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L236" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L238" } } }, @@ -36326,7 +36452,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_route-type_rt", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L295" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L297" } } }, @@ -36342,7 +36468,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_route-type_rt_esi", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L295" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L297" } } }, @@ -36358,7 +36484,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_route-type_rt_esi_eti", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L295" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L297" } } }, @@ -36374,7 +36500,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_route-type_rt_esi_eti_mpls_label", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L295" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L297" } } }, @@ -36390,7 +36516,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_route-type_rt_esi_eti_src_ip_group_ip_orig_ip", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L295" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L297" } } }, @@ -36406,7 +36532,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_route-type_rt_esi_eti_src_ip_group_ip_orig_ip_lg_sync", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L295" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L297" } } }, @@ -36422,7 +36548,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_route-type_rt_esi_ip", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L295" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L297" } } }, @@ -36438,7 +36564,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_route-type_rt_eti_ip", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L295" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L297" } } }, @@ -36454,7 +36580,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_route-type_rt_eti_ip_ip_len", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L295" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L297" } } }, @@ -36470,7 +36596,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_route-type_rt_eti_mac_ip", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L295" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L297" } } }, @@ -36486,7 +36612,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_route-type_rt_eti_src_ip_group_ip_orig_ip", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L295" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L297" } } }, @@ -36502,7 +36628,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L385" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L387" } } }, @@ -36530,7 +36656,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_vrf_vrf", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L137" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L139" } } }, @@ -36546,7 +36672,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_vrf_vrf_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L236" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L238" } } }, @@ -36562,7 +36688,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_vrf_vrf_neighbors", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L531" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L533" } } }, @@ -36578,7 +36704,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_vrf_vrf_neighbors_neighbor", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L531" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L533" } } }, @@ -36594,7 +36720,23 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_vrf_vrf_neighbors_neighbor_advertised-routes", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L656" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L658" + } + } + }, + "show ip bgp {address_family} vrf {vrf} neighbors {neighbor} received prefix-filter": { + "folders": { + "iosxe": { + "class": "ShowIpBgpNeighborReceivedPrefixFilter", + "doc": "Parser for:\n * 'show ip bgp neighbors {neighbor} received prefix-filter'\n * 'show ip bgp {address_family} vrf {vrf} neighbors {neighbor} received prefix-filter'\n ", + "module_name": "iosxe.show_ip_bgp", + "package": "genie.libs.parser", + "schema": "{\n 'address_family': {\n Any('*'): {\n 'ip_prefix_list': {\n Any('*'): {\n 'entries': int,\n 'sequences': {\n Any('*'): {\n 'action': str,\n 'prefix': str,\n },\n },\n },\n },\n },\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_ip_bgp_address_family_vrf_vrf_neighbors_neighbor_received_prefix-filter", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L1693" } } }, @@ -36610,7 +36752,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_vrf_vrf_neighbors_neighbor_routes", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L815" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L817" } } }, @@ -36626,7 +36768,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_vrf_vrf_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L385" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L387" } } }, @@ -36642,7 +36784,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_address_family_vrf_vrf_route", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L204" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L206" } } }, @@ -36658,7 +36800,7 @@ "os": "iosxe" }, "uid": "show_ip_bgp_route", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L103" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ip_bgp.py#L105" }, "iosxr": { "class": "ShowIpBgp", @@ -36686,7 +36828,7 @@ "os": "iosxe" }, "uid": "show_ip_cef", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L1825" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L1826" } } }, @@ -36718,7 +36860,7 @@ "os": "iosxe" }, "uid": "show_ip_cef_internal", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L2592" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L2593" } } }, @@ -36750,7 +36892,7 @@ "os": "iosxe" }, "uid": "show_ip_cef_vrf_vrf", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L1825" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L1826" } } }, @@ -36766,7 +36908,7 @@ "os": "iosxe" }, "uid": "show_ip_cef_vrf_vrf_ip_internal", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L2592" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L2593" } } }, @@ -36782,7 +36924,7 @@ "os": "iosxe" }, "uid": "show_ip_cef_vrf_vrf_prefix", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L1825" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L1826" } } }, @@ -36798,7 +36940,7 @@ "os": "iosxe" }, "uid": "show_ip_cef_ip_internal", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L2592" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L2593" } } }, @@ -36814,7 +36956,7 @@ "os": "iosxe" }, "uid": "show_ip_cef_prefix", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L1825" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L1826" } } }, @@ -36830,7 +36972,7 @@ "os": "iosxe" }, "uid": "show_ip_cef_prefix_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L2100" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L2101" } } }, @@ -38685,7 +38827,7 @@ "os": "iosxe" }, "uid": "show_ip_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L2280" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L2529" }, "ironware": { "class": "ShowIPInterface", @@ -38725,7 +38867,7 @@ "os": "iosxe" }, "uid": "show_ip_interface_brief", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L1441" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L1690" }, "iosxr": { "class": "ShowIpInterfaceBriefPipeVlan", @@ -38809,7 +38951,7 @@ "os": "iosxe" }, "uid": "show_ip_interface_brief_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L1441" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L1690" } } }, @@ -38837,7 +38979,7 @@ "os": "iosxe" }, "uid": "show_ip_interface_brief___include_Vlan", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L1523" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L1772" }, "nxos": { "class": "ShowIpInterfaceBriefPipeVlan", @@ -38877,7 +39019,7 @@ "os": "iosxe" }, "uid": "show_ip_interface_brief___include_ip", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L1628" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L1877" }, "iosxr": { "class": "ShowIpInterfaceBriefPipeVlan", @@ -38949,7 +39091,7 @@ "os": "iosxe" }, "uid": "show_ip_interface_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L2280" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L2529" } } }, @@ -39009,7 +39151,7 @@ "os": "iosxe" }, "uid": "show_ip_interface___include_include", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L2280" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L2529" } } }, @@ -43411,7 +43553,7 @@ "os": "iosxe" }, "uid": "show_ip_route_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L2183" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L2184" }, "ironware": { "class": "ShowIPRouteSummary", @@ -43467,7 +43609,7 @@ "os": "iosxe" }, "uid": "show_ip_route_supernets-only", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L3401" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L3402" } } }, @@ -43551,7 +43693,7 @@ "os": "iosxe" }, "uid": "show_ip_route_vrf_vrf_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L2183" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L2184" } } }, @@ -43567,7 +43709,7 @@ "os": "iosxe" }, "uid": "show_ip_route_vrf_vrf_supernets-only", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L3401" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L3402" } } }, @@ -44821,7 +44963,7 @@ "os": "iosxe" }, "uid": "show_ipv6_cef", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L2067" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L2068" } } }, @@ -44837,7 +44979,7 @@ "os": "iosxe" }, "uid": "show_ipv6_cef_exact-route_source_destination", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L2453" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L2454" } } }, @@ -44853,7 +44995,7 @@ "os": "iosxe" }, "uid": "show_ipv6_cef_internal", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L3136" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L3137" } } }, @@ -44869,7 +45011,7 @@ "os": "iosxe" }, "uid": "show_ipv6_cef_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L2116" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L2117" } } }, @@ -44885,7 +45027,7 @@ "os": "iosxe" }, "uid": "show_ipv6_cef_vrf_vrf", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L2067" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L2068" } } }, @@ -44901,7 +45043,7 @@ "os": "iosxe" }, "uid": "show_ipv6_cef_vrf_vrf_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L2116" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L2117" } } }, @@ -44917,7 +45059,7 @@ "os": "iosxe" }, "uid": "show_ipv6_cef_vrf_vrf_ip_internal", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L3136" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L3137" } } }, @@ -44933,7 +45075,7 @@ "os": "iosxe" }, "uid": "show_ipv6_cef_vrf_vrf_prefix", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L2067" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L2068" } } }, @@ -44949,7 +45091,7 @@ "os": "iosxe" }, "uid": "show_ipv6_cef_ip_internal", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L3136" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L3137" } } }, @@ -44965,7 +45107,7 @@ "os": "iosxe" }, "uid": "show_ipv6_cef_prefix", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L2067" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L2068" } } }, @@ -44981,7 +45123,7 @@ "os": "iosxe" }, "uid": "show_ipv6_destination-guard_policy_policy", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L236" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L237" } } }, @@ -44997,7 +45139,7 @@ "os": "iosxe" }, "uid": "show_ipv6_dhcp_binding", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1741" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1742" } } }, @@ -45013,7 +45155,7 @@ "os": "iosxe" }, "uid": "show_ipv6_dhcp_guard_policy_policy_name", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L340" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L341" } } }, @@ -45061,7 +45203,7 @@ "os": "iosxe" }, "uid": "show_ipv6_dhcp_pool", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1509" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1510" } } }, @@ -45077,7 +45219,7 @@ "os": "iosxe" }, "uid": "show_ipv6_dhcp_pool_poolname", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1509" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1510" } } }, @@ -45093,7 +45235,7 @@ "os": "iosxe" }, "uid": "show_ipv6_dhcp_relay_binding", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L2336" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L2337" } } }, @@ -45125,7 +45267,7 @@ "os": "iosxe" }, "uid": "show_ipv6_dhcp_statistics", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1605" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1606" } } }, @@ -45141,7 +45283,7 @@ "os": "iosxe" }, "uid": "show_ipv6_dhcp-ldra", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L462" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L463" } } }, @@ -45157,7 +45299,7 @@ "os": "iosxe" }, "uid": "show_ipv6_dhcp-ldra_statistics", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L566" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L567" } } }, @@ -45409,7 +45551,7 @@ "os": "iosxe" }, "uid": "show_ipv6_general-prefix", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L2504" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L2505" } } }, @@ -45501,7 +45643,7 @@ "os": "iosxe" }, "uid": "show_ipv6_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L2973" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L3222" }, "iosxr": { "class": "ShowIpv6Interface", @@ -45573,7 +45715,7 @@ "os": "iosxe" }, "uid": "show_ipv6_interface_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L2973" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L3222" }, "iosxr": { "class": "ShowIpv6Interface", @@ -45645,7 +45787,7 @@ "os": "iosxe" }, "uid": "show_ipv6_interface___include_include", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L2973" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L3222" } } }, @@ -45677,7 +45819,7 @@ "os": "iosxe" }, "uid": "show_ipv6_mfib", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1220" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1221" } } }, @@ -45693,7 +45835,7 @@ "os": "iosxe" }, "uid": "show_ipv6_mfib_count", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L2743" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L2744" } } }, @@ -45725,7 +45867,7 @@ "os": "iosxe" }, "uid": "show_ipv6_mfib_status", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1024" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1025" } } }, @@ -45757,7 +45899,7 @@ "os": "iosxe" }, "uid": "show_ipv6_mfib_vrf_vrf", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1220" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1221" } } }, @@ -45789,7 +45931,7 @@ "os": "iosxe" }, "uid": "show_ipv6_mfib_vrf_vrf_group", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1220" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1221" } } }, @@ -45805,7 +45947,7 @@ "os": "iosxe" }, "uid": "show_ipv6_mfib_vrf_vrf_group_source", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1220" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1221" } } }, @@ -45821,7 +45963,7 @@ "os": "iosxe" }, "uid": "show_ipv6_mfib_vrf_vrf_group_source_verbose", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1220" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1221" } } }, @@ -45837,7 +45979,7 @@ "os": "iosxe" }, "uid": "show_ipv6_mfib_vrf_vrf_group_verbose", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1220" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1221" } } }, @@ -45853,7 +45995,7 @@ "os": "iosxe" }, "uid": "show_ipv6_mfib_vrf_vrf_verbose", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1220" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1221" } } }, @@ -45869,7 +46011,23 @@ "os": "iosxe" }, "uid": "show_ipv6_mfib_group", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1220" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1221" + } + } + }, + "show ipv6 mfib {group} active": { + "folders": { + "iosxe": { + "class": "ShowIpv6MfibGroupActive", + "doc": "Parser for show ipv6 mfib {group} active", + "module_name": "iosxe.show_ipv6", + "package": "genie.libs.parser", + "schema": "{\n 'active_multicast_sources': {\n 'threshold_kbps': int,\n Optional('sources'): {\n Any('*'): {\n 'group': str,\n 'rate_kbps': int,\n Optional('interface'): str,\n },\n },\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_ipv6_mfib_group_active", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L3230" } } }, @@ -45885,7 +46043,7 @@ "os": "iosxe" }, "uid": "show_ipv6_mfib_group_source", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1220" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1221" } } }, @@ -45901,7 +46059,7 @@ "os": "iosxe" }, "uid": "show_ipv6_mfib_group_source_count", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L2951" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L2952" } } }, @@ -45917,7 +46075,7 @@ "os": "iosxe" }, "uid": "show_ipv6_mfib_group_source_verbose", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1220" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1221" } } }, @@ -45933,7 +46091,7 @@ "os": "iosxe" }, "uid": "show_ipv6_mfib_group_verbose", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1220" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1221" } } }, @@ -45949,7 +46107,7 @@ "os": "iosxe" }, "uid": "show_ipv6_mfib_verbose", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1220" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1221" } } }, @@ -46169,7 +46327,7 @@ "os": "iosxe" }, "uid": "show_ipv6_mld_snooping", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L2265" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L2266" } } }, @@ -46441,7 +46599,7 @@ "os": "iosxe" }, "uid": "show_ipv6_mrib_route", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L862" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L863" } } }, @@ -46457,7 +46615,7 @@ "os": "iosxe" }, "uid": "show_ipv6_mrib_route_group", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L862" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L863" } } }, @@ -46473,7 +46631,7 @@ "os": "iosxe" }, "uid": "show_ipv6_mrib_route_group_source", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L862" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L863" } } }, @@ -46489,7 +46647,7 @@ "os": "iosxe" }, "uid": "show_ipv6_mrib_vrf_vrf_route", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L862" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L863" } } }, @@ -46505,7 +46663,7 @@ "os": "iosxe" }, "uid": "show_ipv6_mrib_vrf_vrf_route_group", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L862" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L863" } } }, @@ -46521,7 +46679,7 @@ "os": "iosxe" }, "uid": "show_ipv6_mrib_vrf_vrf_route_group_source", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L862" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L863" } } }, @@ -47097,7 +47255,7 @@ "os": "iosxe" }, "uid": "show_ipv6_neighbors", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L88" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L89" }, "iosxr": { "class": "ShowIpv6Neighbors", @@ -47137,7 +47295,7 @@ "os": "iosxe" }, "uid": "show_ipv6_neighbors_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L153" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L154" }, "iosxr": { "class": "ShowIpv6NeighborsDetail", @@ -47165,7 +47323,7 @@ "os": "iosxe" }, "uid": "show_ipv6_neighbors_vrf_vrf", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L88" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L89" }, "iosxr": { "class": "ShowIpv6Neighbors", @@ -47193,7 +47351,7 @@ "os": "iosxe" }, "uid": "show_ipv6_neighbors_vrf_vrf_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L153" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L154" } } }, @@ -47209,7 +47367,7 @@ "os": "iosxe" }, "uid": "show_ipv6_neighbors_vrf_vrf_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L88" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L89" }, "iosxr": { "class": "ShowIpv6Neighbors", @@ -47237,7 +47395,7 @@ "os": "iosxe" }, "uid": "show_ipv6_neighbors_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L88" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L89" }, "iosxr": { "class": "ShowIpv6Neighbors", @@ -47265,7 +47423,7 @@ "os": "iosxe" }, "uid": "show_ipv6_nhrp_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1929" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L1930" } } }, @@ -47765,7 +47923,7 @@ "os": "iosxe" }, "uid": "show_ipv6_pim_neighbor_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L2574" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L2575" } } }, @@ -47989,6 +48147,29 @@ } } }, + "show ipv6 policy": { + "folders": { + "iosxe": { + "folders": { + "rv1": { + "class": "ShowIpPolicy", + "doc": "\n Parser for:\n show ip policy\n ", + "module_name": "iosxe.rv1.show_ip", + "package": "genie.libs.parser", + "schema": "{\n 'interface': {\n Any('*'): {\n 'route_map': str,\n },\n },\n}", + "tokens": { + "revision": "1" + }, + "uid": "show_ipv6_policy", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/rv1/show_ip.py#L143" + } + }, + "tokens": { + "os": "iosxe" + } + } + } + }, "show ipv6 prefix-list detail": { "folders": { "ios": { @@ -48405,7 +48586,7 @@ "os": "iosxe" }, "uid": "show_ipv6_route_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L3235" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L3236" }, "nxos": { "class": "ShowIpv6RouteSummary", @@ -48561,7 +48742,7 @@ "os": "iosxe" }, "uid": "show_ipv6_route_vrf_vrf_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L3235" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L3236" } } }, @@ -48901,7 +49082,7 @@ "os": "iosxe" }, "uid": "show_ipv6_routers", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L702" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L703" }, "nxos": { "class": "ShowIpv6Routers", @@ -48929,7 +49110,7 @@ "os": "iosxe" }, "uid": "show_ipv6_routers_vrf_vrf", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L702" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L703" }, "nxos": { "class": "ShowIpv6Routers", @@ -49001,7 +49182,7 @@ "os": "iosxe" }, "uid": "show_ipv6_static_recursive", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L2194" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L2195" } } }, @@ -49093,7 +49274,7 @@ "os": "iosxe" }, "uid": "show_ipv6_virtual-reassembly_features", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L3161" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_ipv6.py#L3162" } } }, @@ -50514,6 +50695,98 @@ }, "uid": "show_key_chain", "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_key_chain.py#L48" + }, + "nxos": { + "class": "ShowKeyChain", + "doc": "Parser for\n 'show key chain', \n 'show key chain detail', \n 'show key chain mode decrypt', \n 'show key chain {key}', \n 'show key chain {key} detail', \n 'show key chain {key} mode decrypt'\n ", + "module_name": "nxos.show_key_chain", + "package": "genie.libs.parser", + "schema": "{\n 'keychains': {\n Any('*'): {\n Optional('key_type'): str,\n Optional('active_send_key'): str,\n Any('*'): {\n Optional('key_octet_string'): str,\n Optional('encryption_type'): str,\n Optional('crypto_algorithm'): str,\n Optional('lifetime_state'): str,\n },\n },\n },\n}", + "tokens": { + "os": "nxos" + }, + "uid": "show_key_chain", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_key_chain.py#L50" + } + } + }, + "show key chain mode {decrypt}": { + "folders": { + "nxos": { + "class": "ShowKeyChain", + "doc": "Parser for\n 'show key chain', \n 'show key chain detail', \n 'show key chain mode decrypt', \n 'show key chain {key}', \n 'show key chain {key} detail', \n 'show key chain {key} mode decrypt'\n ", + "module_name": "nxos.show_key_chain", + "package": "genie.libs.parser", + "schema": "{\n 'keychains': {\n Any('*'): {\n Optional('key_type'): str,\n Optional('active_send_key'): str,\n Any('*'): {\n Optional('key_octet_string'): str,\n Optional('encryption_type'): str,\n Optional('crypto_algorithm'): str,\n Optional('lifetime_state'): str,\n },\n },\n },\n}", + "tokens": { + "os": "nxos" + }, + "uid": "show_key_chain_mode_decrypt", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_key_chain.py#L50" + } + } + }, + "show key chain {detail}": { + "folders": { + "nxos": { + "class": "ShowKeyChain", + "doc": "Parser for\n 'show key chain', \n 'show key chain detail', \n 'show key chain mode decrypt', \n 'show key chain {key}', \n 'show key chain {key} detail', \n 'show key chain {key} mode decrypt'\n ", + "module_name": "nxos.show_key_chain", + "package": "genie.libs.parser", + "schema": "{\n 'keychains': {\n Any('*'): {\n Optional('key_type'): str,\n Optional('active_send_key'): str,\n Any('*'): {\n Optional('key_octet_string'): str,\n Optional('encryption_type'): str,\n Optional('crypto_algorithm'): str,\n Optional('lifetime_state'): str,\n },\n },\n },\n}", + "tokens": { + "os": "nxos" + }, + "uid": "show_key_chain_detail", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_key_chain.py#L50" + } + } + }, + "show key chain {key}": { + "folders": { + "nxos": { + "class": "ShowKeyChain", + "doc": "Parser for\n 'show key chain', \n 'show key chain detail', \n 'show key chain mode decrypt', \n 'show key chain {key}', \n 'show key chain {key} detail', \n 'show key chain {key} mode decrypt'\n ", + "module_name": "nxos.show_key_chain", + "package": "genie.libs.parser", + "schema": "{\n 'keychains': {\n Any('*'): {\n Optional('key_type'): str,\n Optional('active_send_key'): str,\n Any('*'): {\n Optional('key_octet_string'): str,\n Optional('encryption_type'): str,\n Optional('crypto_algorithm'): str,\n Optional('lifetime_state'): str,\n },\n },\n },\n}", + "tokens": { + "os": "nxos" + }, + "uid": "show_key_chain_key", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_key_chain.py#L50" + } + } + }, + "show key chain {key} mode {decrypt}": { + "folders": { + "nxos": { + "class": "ShowKeyChain", + "doc": "Parser for\n 'show key chain', \n 'show key chain detail', \n 'show key chain mode decrypt', \n 'show key chain {key}', \n 'show key chain {key} detail', \n 'show key chain {key} mode decrypt'\n ", + "module_name": "nxos.show_key_chain", + "package": "genie.libs.parser", + "schema": "{\n 'keychains': {\n Any('*'): {\n Optional('key_type'): str,\n Optional('active_send_key'): str,\n Any('*'): {\n Optional('key_octet_string'): str,\n Optional('encryption_type'): str,\n Optional('crypto_algorithm'): str,\n Optional('lifetime_state'): str,\n },\n },\n },\n}", + "tokens": { + "os": "nxos" + }, + "uid": "show_key_chain_key_mode_decrypt", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_key_chain.py#L50" + } + } + }, + "show key chain {key} {detail}": { + "folders": { + "nxos": { + "class": "ShowKeyChain", + "doc": "Parser for\n 'show key chain', \n 'show key chain detail', \n 'show key chain mode decrypt', \n 'show key chain {key}', \n 'show key chain {key} detail', \n 'show key chain {key} mode decrypt'\n ", + "module_name": "nxos.show_key_chain", + "package": "genie.libs.parser", + "schema": "{\n 'keychains': {\n Any('*'): {\n Optional('key_type'): str,\n Optional('active_send_key'): str,\n Any('*'): {\n Optional('key_octet_string'): str,\n Optional('encryption_type'): str,\n Optional('crypto_algorithm'): str,\n Optional('lifetime_state'): str,\n },\n },\n },\n}", + "tokens": { + "os": "nxos" + }, + "uid": "show_key_chain_key_detail", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/nxos/show_key_chain.py#L50" } } }, @@ -55381,6 +55654,22 @@ } } }, + "show l2tp": { + "folders": { + "iosxe": { + "class": "ShowL2tp", + "doc": "Parser for show l2tp", + "module_name": "iosxe.show_l2tp", + "package": "genie.libs.parser", + "schema": "{\n 'total_tunnels': int,\n 'total_sessions': int,\n Optional('tunnels'): {\n Any('*'): {\n 'loc_tunnel_id': int,\n 'rem_tunnel_id': int,\n 'remote_name': str,\n 'state': str,\n 'remote_address': str,\n 'session_count': int,\n 'l2tp_class_vpdn_group': str,\n Optional('sessions'): {\n Any('*'): {\n 'loc_id': int,\n 'rem_id': int,\n 'tunnel_id': int,\n 'username': str,\n 'interface_vcid_circuit': str,\n 'state': str,\n 'last_change': str,\n 'unique_id': int,\n },\n },\n },\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_l2tp", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_l2tp.py#L252" + } + } + }, "show l2tp session packets": { "folders": { "iosxe": { @@ -69656,6 +69945,86 @@ } } }, + "show lslib server producer detail": { + "folders": { + "iosxr": { + "class": "ShowLslibServerProducerInfo", + "doc": "\n Parser for 'show lslib server producer instance-id '\n 'show lslib server producer detail'\n ", + "module_name": "iosxr.show_lslib", + "package": "genie.libs.parser", + "schema": "{\n 'producer': {\n Any('*'): {\n 'name': str,\n 'instance_identifier': int,\n 'local_identifier': int,\n 'connected_at': str,\n 'up_time': str,\n 'sod_received_at': str,\n 'eod_received_at': str,\n 'eod_pending': str,\n 'eod_timer_running': str,\n 'checkpointed': str,\n 'statistics': {\n 'markers': {\n 'sod': int,\n 'eod': int,\n },\n 'nlri': {\n Any('*'): {\n 'type': str,\n 'initial_data': {\n 'update': int,\n 'delete': int,\n 'error': int,\n },\n 'cumulative': {\n 'update': int,\n 'delete': int,\n 'error': int,\n },\n },\n },\n },\n },\n },\n}", + "tokens": { + "os": "iosxr" + }, + "uid": "show_lslib_server_producer_detail", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_lslib.py#L56" + } + } + }, + "show lslib server producer {producer} instance-id {inst_id}": { + "folders": { + "iosxr": { + "class": "ShowLslibServerProducerInfo", + "doc": "\n Parser for 'show lslib server producer instance-id '\n 'show lslib server producer detail'\n ", + "module_name": "iosxr.show_lslib", + "package": "genie.libs.parser", + "schema": "{\n 'producer': {\n Any('*'): {\n 'name': str,\n 'instance_identifier': int,\n 'local_identifier': int,\n 'connected_at': str,\n 'up_time': str,\n 'sod_received_at': str,\n 'eod_received_at': str,\n 'eod_pending': str,\n 'eod_timer_running': str,\n 'checkpointed': str,\n 'statistics': {\n 'markers': {\n 'sod': int,\n 'eod': int,\n },\n 'nlri': {\n Any('*'): {\n 'type': str,\n 'initial_data': {\n 'update': int,\n 'delete': int,\n 'error': int,\n },\n 'cumulative': {\n 'update': int,\n 'delete': int,\n 'error': int,\n },\n },\n },\n },\n },\n },\n}", + "tokens": { + "os": "iosxr" + }, + "uid": "show_lslib_server_producer_producer_instance-id_inst_id", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_lslib.py#L56" + } + } + }, + "show lslib server topology-db protocol ospfv3 instance-id {inst_id} nlri-type ipv6-prefix detail": { + "folders": { + "iosxr": { + "class": "ShowLslibServerTopologyOspfv3PrefixNlri", + "doc": "\n Parser for 'show lslib server topology-db protocol ospfv3 instance-id nlri-type ipv6-prefix detail'\n ", + "module_name": "iosxr.show_lslib", + "package": "genie.libs.parser", + "schema": "{\n 'nlri': {\n Any('*'): {\n 'nlri_str': str,\n 'nlri_length_bytes': int,\n 'attribute_length_bytes': int,\n 'producers': {\n Any('*'): {\n 'inst_id': int,\n 'producer': str,\n },\n },\n 'nlri_type': str,\n 'protocol': str,\n 'identifier': str,\n 'local_node_descriptor': {\n 'as_number': int,\n 'bgp_identifier': str,\n 'area_id': str,\n 'router_id_ipv4': str,\n },\n 'prefix_descriptor': {\n 'ospf_route_type': str,\n 'prefix': str,\n },\n Optional('attributes'): {\n 'metric': int,\n },\n },\n },\n}", + "tokens": { + "os": "iosxr" + }, + "uid": "show_lslib_server_topology-db_protocol_ospfv3_instance-id_inst_id_nlri-type_ipv6-prefix_detail", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_lslib.py#L724" + } + } + }, + "show lslib server topology-db protocol ospfv3 instance-id {inst_id} nlri-type link detail": { + "folders": { + "iosxr": { + "class": "ShowLslibServerTopologyOspfv3LinkNlri", + "doc": "\n Parser for 'show lslib server topology-db protocol ospfv3 instance-id nlri-type link detail'\n ", + "module_name": "iosxr.show_lslib", + "package": "genie.libs.parser", + "schema": "{\n 'nlri': {\n Any('*'): {\n 'nlri_str': str,\n 'nlri_length_bytes': int,\n 'attribute_length_bytes': int,\n 'producers': {\n Any('*'): {\n 'inst_id': int,\n 'producer': str,\n },\n },\n 'nlri_type': str,\n 'protocol': str,\n 'identifier': str,\n 'local_node_descriptor': {\n 'as_number': int,\n 'bgp_identifier': str,\n 'area_id': str,\n 'router_id_ipv4': str,\n },\n 'remote_node_descriptor': {\n 'as_number': int,\n 'bgp_identifier': str,\n 'area_id': str,\n 'router_id_ipv4': str,\n },\n 'link_descriptor': {\n 'link_id': str,\n },\n Optional('attributes'): {\n 'metric': int,\n Optional('opaque_link_attr'): str,\n },\n },\n },\n}", + "tokens": { + "os": "iosxr" + }, + "uid": "show_lslib_server_topology-db_protocol_ospfv3_instance-id_inst_id_nlri-type_link_detail", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_lslib.py#L470" + } + } + }, + "show lslib server topology-db protocol ospfv3 instance-id {inst_id} nlri-type node detail": { + "folders": { + "iosxr": { + "class": "ShowLslibServerTopologyOspfv3NodeNlri", + "doc": "\n Parser for 'show lslib server topology-db protocol ospfv3 instance-id nlri-type node detail'\n ", + "module_name": "iosxr.show_lslib", + "package": "genie.libs.parser", + "schema": "{\n 'nlri': {\n Any('*'): {\n 'nlri_str': str,\n 'nlri_length_bytes': int,\n 'attribute_length_bytes': int,\n 'producers': {\n Any('*'): {\n 'inst_id': int,\n 'producer': str,\n },\n },\n 'nlri_type': str,\n 'protocol': str,\n 'identifier': str,\n 'local_node_descriptor': {\n 'as_number': int,\n 'bgp_identifier': str,\n 'area_id': str,\n 'router_id_ipv4': str,\n },\n Optional('attributes'): {\n 'node_flag_bits': str,\n 'node_flags': str,\n },\n },\n },\n}", + "tokens": { + "os": "iosxr" + }, + "uid": "show_lslib_server_topology-db_protocol_ospfv3_instance-id_inst_id_nlri-type_node_detail", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_lslib.py#L277" + } + } + }, "show mab all details": { "folders": { "iosxe": { @@ -70280,7 +70649,7 @@ "os": "iosxe" }, "uid": "show_macro_auto_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4235" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4484" } } }, @@ -70296,7 +70665,7 @@ "os": "iosxe" }, "uid": "show_macro_auto_interface_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4235" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4484" } } }, @@ -70328,7 +70697,7 @@ "os": "iosxe" }, "uid": "show_macsec_interface_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_mka_sessions.py#L639" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_mka_sessions.py#L640" } } }, @@ -71252,7 +71621,23 @@ "os": "iosxe" }, "uid": "show_mka_policy", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_mka_sessions.py#L2178" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_mka_sessions.py#L2179" + } + } + }, + "show mka session detail": { + "folders": { + "iosxe": { + "class": "ShowMkaSessionDetail", + "doc": "Parser for show mka session detail", + "module_name": "iosxe.show_mka_sessions", + "package": "genie.libs.parser", + "schema": "{\n 'status': str,\n 'status_description': str,\n 'local_tx_sci': str,\n 'interface_mac_address': str,\n 'mka_port_identifier': int,\n 'interface_name': str,\n Optional('audit_session_id'): str,\n 'cak_name_ckn': str,\n 'member_identifier_mi': str,\n 'message_number_mn': int,\n 'eap_role': str,\n 'key_server': str,\n 'mka_cipher_suite': str,\n 'latest_sak_status': str,\n 'latest_sak_an': int,\n 'latest_sak_ki_kn': str,\n 'latest_sak_ki_number': int,\n 'old_sak_status': str,\n 'old_sak_an': int,\n 'old_sak_ki_kn': str,\n 'old_sak_ki_number': int,\n 'sak_transmit_wait_time': str,\n 'sak_transmit_wait_description': str,\n 'sak_retire_time': str,\n 'sak_retire_description': str,\n 'sak_rekey_time': str,\n 'sak_rekey_description': str,\n 'mka_policy_name': str,\n 'key_server_priority': int,\n 'delay_protection': str,\n 'delay_protection_timer': str,\n 'delay_protection_timer_description': str,\n 'confidentiality_offset': int,\n 'algorithm_agility': str,\n 'sak_rekey_on_live_peer_loss': str,\n 'send_secure_announcement': str,\n 'sci_based_ssci_computation': str,\n 'sak_cipher_suite': str,\n 'sak_cipher_suite_description': str,\n 'macsec_capability': int,\n 'macsec_capability_description': str,\n 'macsec_desired': str,\n 'num_macsec_capable_live_peers': int,\n 'num_macsec_capable_live_peers_responded': int,\n Optional('live_peers'): {\n Any('*'): {\n 'mi': str,\n 'mn': int,\n 'rx_sci_peer': str,\n 'ks_priority': int,\n 'rxsa_installed': str,\n 'ssci': int,\n },\n },\n Optional('potential_peers'): {\n Any('*'): {\n 'mi': str,\n 'mn': int,\n 'rx_sci_peer': str,\n 'ks_priority': int,\n 'rxsa_installed': str,\n 'ssci': int,\n },\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_mka_session_detail", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_mka_sessions.py#L2305" } } }, @@ -71268,7 +71653,7 @@ "os": "iosxe" }, "uid": "show_mka_sessions", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_mka_sessions.py#L68" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_mka_sessions.py#L69" } } }, @@ -71284,7 +71669,7 @@ "os": "iosxe" }, "uid": "show_mka_sessions_interface_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_mka_sessions.py#L68" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_mka_sessions.py#L69" } } }, @@ -71300,7 +71685,7 @@ "os": "iosxe" }, "uid": "show_mka_sessions_interface_interface_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_mka_sessions.py#L224" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_mka_sessions.py#L225" } } }, @@ -71316,7 +71701,7 @@ "os": "iosxe" }, "uid": "show_mka_statistics", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_mka_sessions.py#L1698" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_mka_sessions.py#L1699" } } }, @@ -71332,7 +71717,7 @@ "os": "iosxe" }, "uid": "show_mka_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_mka_sessions.py#L1255" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_mka_sessions.py#L1256" } } }, @@ -71574,7 +71959,7 @@ "os": "iosxe" }, "uid": "show_module", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4130" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4131" }, "nxos": { "class": "ShowModule", @@ -71616,7 +72001,7 @@ "os": "iosxe" }, "uid": "show_monitor", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L64" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L67" } } }, @@ -71632,7 +72017,7 @@ "os": "iosxe" }, "uid": "show_monitor_capture", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L311" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L314" } } }, @@ -71648,7 +72033,7 @@ "os": "iosxe" }, "uid": "show_monitor_capture_file_flash:file1.pcap_packet-number_7_detailed", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L1993" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L1996" } } }, @@ -71664,7 +72049,7 @@ "os": "iosxe" }, "uid": "show_monitor_capture_file_path", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L673" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L676" } } }, @@ -71694,7 +72079,7 @@ "os": "iosxe" }, "uid": "show_monitor_capture_file_path_packet-number_number_detailed", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L833" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L836" } } }, @@ -71710,7 +72095,7 @@ "os": "iosxe" }, "uid": "show_monitor_capture_capture_name_buffer", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L673" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L676" } } }, @@ -71726,7 +72111,7 @@ "os": "iosxe" }, "uid": "show_monitor_capture_capture_name_buffer_detailed", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L833" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L836" } } }, @@ -71742,7 +72127,7 @@ "os": "iosxe" }, "uid": "show_monitor_capture_capture_name_buffer_display-filter_\"filter_criteria\"_detailed", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L833" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L836" } } }, @@ -71758,7 +72143,55 @@ "os": "iosxe" }, "uid": "show_monitor_capture_capture_name_capture-statistics", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L1131" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L1134" + } + } + }, + "show monitor event-trace crypto all detail": { + "folders": { + "iosxe": { + "class": "ShowMonitorEventTraceCryptoAllDetail", + "doc": "Parser for `show monitor event-trace crypto all detail`", + "module_name": "iosxe.show_monitor", + "package": "genie.libs.parser", + "schema": "{\n 'event_trace': {\n Optional('pki_event'): {\n Optional('events'): ListOf (dict) {Optional (str) timestamp: , Optional (str) message: , Optional (str) traceback: },\n Optional('status'): str,\n },\n Optional('pki_internal_event'): {\n Optional('events'): ListOf (dict) {Optional (str) timestamp: , Optional (str) message: , Optional (str) traceback: },\n Optional('status'): str,\n },\n Optional('pki_error'): {\n Optional('events'): ListOf (dict) {Optional (str) timestamp: , Optional (str) message: , Optional (str) traceback: },\n Optional('status'): str,\n },\n Optional('ikev2_event'): {\n Optional('events'): ListOf (dict) {Optional (str) timestamp: , Optional (str) message: , Optional (str) traceback: },\n Optional('status'): str,\n },\n Optional('ikev2_internal_event'): {\n Optional('events'): ListOf (dict) {Optional (str) timestamp: , Optional (str) message: , Optional (str) traceback: },\n Optional('status'): str,\n },\n Optional('ikev2_error'): {\n Optional('events'): ListOf (dict) {Optional (str) timestamp: , Optional (str) message: , Optional (str) traceback: },\n Optional('status'): str,\n },\n Optional('ikev2_exception'): {\n Optional('events'): ListOf (dict) {Optional (str) timestamp: , Optional (str) message: , Optional (str) traceback: },\n Optional('status'): str,\n },\n Optional('ipsec_event'): {\n Optional('events'): ListOf (dict) {Optional (str) timestamp: , Optional (str) message: , Optional (str) traceback: },\n Optional('status'): str,\n },\n Optional('ipsec_error'): {\n Optional('events'): ListOf (dict) {Optional (str) timestamp: , Optional (str) message: , Optional (str) traceback: },\n Optional('status'): str,\n },\n Optional('ipsec_exception'): {\n Optional('events'): ListOf (dict) {Optional (str) timestamp: , Optional (str) message: , Optional (str) traceback: },\n Optional('status'): str,\n 'interrupt_context_allocation_count': int,\n },\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_monitor_event-trace_crypto_all_detail", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L2365" + } + } + }, + "show monitor event-trace crypto from-boot": { + "folders": { + "iosxe": { + "class": "ShowMonitorEventTraceCryptoFromBoot", + "doc": "Parser for :\n 'show monitor event-trace crypto from-boot'\n 'show monitor event-trace crypto from-boot {timer}'", + "module_name": "iosxe.show_monitor", + "package": "genie.libs.parser", + "schema": "{\n 'event_trace': {\n Optional('pki_event'): {\n Optional('events'): ListOf (dict) {Optional (str) timestamp: , Optional (str) message: , Optional (str) traceback: },\n Optional('status'): str,\n },\n Optional('pki_internal_event'): {\n Optional('events'): ListOf (dict) {Optional (str) timestamp: , Optional (str) message: , Optional (str) traceback: },\n Optional('status'): str,\n },\n Optional('pki_error'): {\n Optional('events'): ListOf (dict) {Optional (str) timestamp: , Optional (str) message: , Optional (str) traceback: },\n Optional('status'): str,\n },\n Optional('ikev2_event'): {\n Optional('events'): ListOf (dict) {Optional (str) timestamp: , Optional (str) message: , Optional (str) traceback: },\n Optional('status'): str,\n },\n Optional('ikev2_internal_event'): {\n Optional('events'): ListOf (dict) {Optional (str) timestamp: , Optional (str) message: , Optional (str) traceback: },\n Optional('status'): str,\n },\n Optional('ikev2_error'): {\n Optional('events'): ListOf (dict) {Optional (str) timestamp: , Optional (str) message: , Optional (str) traceback: },\n Optional('status'): str,\n },\n Optional('ikev2_exception'): {\n Optional('events'): ListOf (dict) {Optional (str) timestamp: , Optional (str) message: , Optional (str) traceback: },\n Optional('status'): str,\n },\n Optional('ipsec_event'): {\n Optional('events'): ListOf (dict) {Optional (str) timestamp: , Optional (str) message: , Optional (str) traceback: },\n Optional('status'): str,\n },\n Optional('ipsec_error'): {\n Optional('events'): ListOf (dict) {Optional (str) timestamp: , Optional (str) message: , Optional (str) traceback: },\n Optional('status'): str,\n },\n Optional('ipsec_exception'): {\n Optional('events'): ListOf (dict) {Optional (str) timestamp: , Optional (str) message: , Optional (str) traceback: },\n Optional('status'): str,\n Optional('interrupt_context_allocation_count'): int,\n },\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_monitor_event-trace_crypto_from-boot", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L2537" + } + } + }, + "show monitor event-trace crypto from-boot {timer}": { + "folders": { + "iosxe": { + "class": "ShowMonitorEventTraceCryptoFromBoot", + "doc": "Parser for :\n 'show monitor event-trace crypto from-boot'\n 'show monitor event-trace crypto from-boot {timer}'", + "module_name": "iosxe.show_monitor", + "package": "genie.libs.parser", + "schema": "{\n 'event_trace': {\n Optional('pki_event'): {\n Optional('events'): ListOf (dict) {Optional (str) timestamp: , Optional (str) message: , Optional (str) traceback: },\n Optional('status'): str,\n },\n Optional('pki_internal_event'): {\n Optional('events'): ListOf (dict) {Optional (str) timestamp: , Optional (str) message: , Optional (str) traceback: },\n Optional('status'): str,\n },\n Optional('pki_error'): {\n Optional('events'): ListOf (dict) {Optional (str) timestamp: , Optional (str) message: , Optional (str) traceback: },\n Optional('status'): str,\n },\n Optional('ikev2_event'): {\n Optional('events'): ListOf (dict) {Optional (str) timestamp: , Optional (str) message: , Optional (str) traceback: },\n Optional('status'): str,\n },\n Optional('ikev2_internal_event'): {\n Optional('events'): ListOf (dict) {Optional (str) timestamp: , Optional (str) message: , Optional (str) traceback: },\n Optional('status'): str,\n },\n Optional('ikev2_error'): {\n Optional('events'): ListOf (dict) {Optional (str) timestamp: , Optional (str) message: , Optional (str) traceback: },\n Optional('status'): str,\n },\n Optional('ikev2_exception'): {\n Optional('events'): ListOf (dict) {Optional (str) timestamp: , Optional (str) message: , Optional (str) traceback: },\n Optional('status'): str,\n },\n Optional('ipsec_event'): {\n Optional('events'): ListOf (dict) {Optional (str) timestamp: , Optional (str) message: , Optional (str) traceback: },\n Optional('status'): str,\n },\n Optional('ipsec_error'): {\n Optional('events'): ListOf (dict) {Optional (str) timestamp: , Optional (str) message: , Optional (str) traceback: },\n Optional('status'): str,\n },\n Optional('ipsec_exception'): {\n Optional('events'): ListOf (dict) {Optional (str) timestamp: , Optional (str) message: , Optional (str) traceback: },\n Optional('status'): str,\n Optional('interrupt_context_allocation_count'): int,\n },\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_monitor_event-trace_crypto_from-boot_timer", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L2537" } } }, @@ -71774,7 +72207,23 @@ "os": "iosxe" }, "uid": "show_monitor_event-trace_crypto_ikev2_event_all", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L2179" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L2181" + } + } + }, + "show monitor event-trace crypto ipsec event all": { + "folders": { + "iosxe": { + "class": "ShowMonitorEventTraceCryptoIpsecEventAll", + "doc": "\n Parser for:\n show monitor event-trace crypto ipsec event all\n ", + "module_name": "iosxe.show_monitor_event_trace_crypto", + "package": "genie.libs.parser", + "schema": "{\n 'tracing_status': str,\n Optional('source'): str,\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_monitor_event-trace_crypto_ipsec_event_all", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor_event_trace_crypto.py#L362" } } }, @@ -71886,7 +72335,7 @@ "os": "iosxe" }, "uid": "show_monitor_event-trace_crypto_pki_error_all", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L2109" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L2112" } } }, @@ -71902,7 +72351,7 @@ "os": "iosxe" }, "uid": "show_monitor_event-trace_crypto_pki_event_all", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L2050" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L2053" } } }, @@ -71918,7 +72367,7 @@ "os": "iosxe" }, "uid": "show_monitor_event-trace_dmvpn_all", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L1296" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L1299" } } }, @@ -71950,7 +72399,7 @@ "os": "iosxe" }, "uid": "show_monitor_session_session", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L64" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_monitor.py#L67" } } }, @@ -77923,7 +78372,7 @@ "os": "iosxr" }, "uid": "show_ospfv3_database", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L201" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L204" } } }, @@ -77955,7 +78404,7 @@ "os": "iosxr" }, "uid": "show_ospfv3_database_prefix_adv-router_ip_address", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L1749" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L1752" } } }, @@ -77971,7 +78420,7 @@ "os": "iosxr" }, "uid": "show_ospfv3_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L715" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L718" } } }, @@ -77987,7 +78436,7 @@ "os": "iosxr" }, "uid": "show_ospfv3_interface_interface_name", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L715" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L718" } } }, @@ -78003,7 +78452,7 @@ "os": "iosxr" }, "uid": "show_ospfv3_neighbor", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L43" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L46" } } }, @@ -78055,6 +78504,54 @@ } } }, + "show ospfv3 topology detail": { + "folders": { + "iosxr": { + "class": "ShowOspfv3TopologyDetail", + "doc": "\n Parser for show ospfv3 topology detail\n ", + "module_name": "iosxr.show_ospfv3", + "package": "genie.libs.parser", + "schema": "{\n 'process': str,\n 'instance': str,\n 'router_id': str,\n 'areas': {\n Any('*'): {\n 'area_id': int,\n 'num_nodes': int,\n 'nodes': {\n Any('*'): {\n 'node_id': str,\n 'root': bool,\n 'pseudo': bool,\n Optional('flags'): ListOf (type) ,\n Optional('num_links'): int,\n 'oper_flags': hex,\n Optional('contributing_lsas'): ListOf (type) ,\n Optional('links'): {\n Any('*'): {\n 'remote_node': str,\n 'local_link_id': int,\n 'remote_link_id': int,\n 'link_type': str,\n 'metric': int,\n Optional('remote_link'): {\n 'remote_node': str,\n 'local_link_id': int,\n 'remote_link_id': int,\n 'link_type': str,\n },\n Optional('lladdr'): str,\n Optional('remote_lladdr'): str,\n 'oper_flags': hex,\n Optional('local_interface_id'): int,\n Optional('remote_interface_id'): int,\n Optional('link_attributes'): {\n 'lsid': str,\n Optional('optical_info'): {\n 'type': int,\n 'length': int,\n 'entity_number': int,\n 'data': str,\n },\n },\n },\n },\n },\n },\n },\n },\n}", + "tokens": { + "os": "iosxr" + }, + "uid": "show_ospfv3_topology_detail", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L2335" + } + } + }, + "show ospfv3 topology prefixes": { + "folders": { + "iosxr": { + "class": "ShowOspfv3TopologyPrefixes", + "doc": "\n Parser for show ospfv3 topology prefixes\n ", + "module_name": "iosxr.show_ospfv3", + "package": "genie.libs.parser", + "schema": "{\n 'process': str,\n 'instance': str,\n 'router_id': str,\n 'areas': {\n Any('*'): {\n 'area_id': int,\n 'num_nodes': int,\n 'nodes': {\n Any('*'): {\n 'node_id': str,\n Optional('root'): bool,\n Optional('pseudo'): bool,\n Optional('flags'): ListOf (type) ,\n 'num_prefixes': int,\n 'prefixes': ListOf (type) ,\n },\n },\n },\n },\n}", + "tokens": { + "os": "iosxr" + }, + "uid": "show_ospfv3_topology_prefixes", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L2612" + } + } + }, + "show ospfv3 vrf all-inclusive database ext-router": { + "folders": { + "iosxr": { + "class": "ShowOspfv3VrfAllInclusiveDatabaseExtRouter", + "doc": " Parser for:\n *'show ospfv3 vrf all-inclusive database ext-router'\n ", + "module_name": "iosxr.show_ospfv3", + "package": "genie.libs.parser", + "schema": "{\n 'vrf': {\n Any('*'): {\n 'address_family': {\n Any('*'): {\n 'instance': {\n Any('*'): {\n Optional('areas'): {\n Any('*'): {\n 'database': {\n 'lsa_types': {\n Any('*'): {\n 'lsa_type': int,\n 'lsas': {\n Any('*'): {\n 'lsa_id': int,\n 'adv_router': str,\n 'ospfv3': {\n 'header': {\n 'age': int,\n 'type': str,\n 'lsa_id': int,\n 'adv_router': str,\n 'seq_num': str,\n 'checksum': str,\n 'length': int,\n },\n 'body': {\n 'num_of_tlvs': int,\n 'tlvs': {\n Any('*'): {\n 'type': int,\n Optional('type_desc'): str,\n 'length': int,\n 'value': {\n Any('*'): {\n Optional('link'): {\n Any('*'): {\n 'link_type': str,\n 'link_metric': int,\n 'local_interface_id': int,\n 'neighbor_interface_id': int,\n 'neighbor_router_id': str,\n },\n },\n 'num_of_subtlvs': int,\n Optional('subtlv'): {\n Any('*'): {\n 'subtype': int,\n Optional('subtype_desc'): str,\n 'length': int,\n 'value': {\n Any('*'): {\n Optional('optical_info'): {\n Any('*'): {\n 'enterprise_num': int,\n 'opaque_value': str,\n },\n },\n },\n },\n },\n },\n },\n },\n },\n },\n },\n },\n },\n },\n },\n },\n },\n },\n },\n },\n },\n },\n },\n },\n },\n}", + "tokens": { + "os": "iosxr" + }, + "uid": "show_ospfv3_vrf_all-inclusive_database_ext-router", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L1928" + } + } + }, "show ospfv3 vrf all-inclusive database prefix": { "folders": { "iosxr": { @@ -78067,7 +78564,7 @@ "os": "iosxr" }, "uid": "show_ospfv3_vrf_all-inclusive_database_prefix", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L1448" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L1451" } } }, @@ -78083,7 +78580,7 @@ "os": "iosxr" }, "uid": "show_ospfv3_vrf_all-inclusive_database_router", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L1067" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L1070" } } }, @@ -78099,7 +78596,7 @@ "os": "iosxr" }, "uid": "show_ospfv3_vrf_all-inclusive_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L715" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L718" } } }, @@ -78115,7 +78612,7 @@ "os": "iosxr" }, "uid": "show_ospfv3_vrf_all-inclusive_interface_interface_name", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L715" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L718" } } }, @@ -78131,7 +78628,7 @@ "os": "iosxr" }, "uid": "show_ospfv3_vrf_all-inclusive_neighbor_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L460" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L463" } } }, @@ -78211,7 +78708,7 @@ "os": "iosxr" }, "uid": "show_ospfv3_vrf_vrf_neighbor", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L43" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L46" } } }, @@ -78355,7 +78852,7 @@ "os": "iosxr" }, "uid": "show_ospfv3_process_id_database", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L201" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L204" } } }, @@ -78387,7 +78884,7 @@ "os": "iosxr" }, "uid": "show_ospfv3_process_name_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L715" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L718" } } }, @@ -78403,7 +78900,7 @@ "os": "iosxr" }, "uid": "show_ospfv3_process_name_interface_interface_name", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L715" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L718" } } }, @@ -78419,7 +78916,7 @@ "os": "iosxr" }, "uid": "show_ospfv3_process_neighbor", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L43" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L46" } } }, @@ -78435,7 +78932,7 @@ "os": "iosxr" }, "uid": "show_ospfv3_process_vrf_vrf_neighbor", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L43" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_ospfv3.py#L46" } } }, @@ -79456,7 +79953,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#L9543" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9552" } } }, @@ -79493,7 +79990,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#L9543" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9552" } } }, @@ -79580,7 +80077,7 @@ "os": "iosxe" }, "uid": "show_platform", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L2523" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L2524" }, "iosxr": { "class": "ShowPlatform", @@ -79608,7 +80105,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#L7718" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7727" } } }, @@ -79640,7 +80137,7 @@ "os": "iosxe" }, "uid": "show_platform_diag", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L10405" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L10414" } } }, @@ -79656,7 +80153,7 @@ "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#L9747" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9756" } } }, @@ -79690,7 +80187,7 @@ "model": "c9610" }, "uid": "show_platform_hardware_authentication_status", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L1445" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L1446" } }, "tokens": { @@ -79700,12 +80197,12 @@ }, "module_name": "iosxe.show_platform_hardware", "package": "genie.libs.parser", - "schema": "{\n Optional('switch'): {\n '': {\n 'mainboard_authentication': str,\n Optional('fru_authentication'): str,\n Optional('stack_cable_a_authentication'): str,\n Optional('stack_cable_b_authentication'): str,\n Optional('stack_adapter_a_authentication'): str,\n Optional('stack_adapter_b_authentication'): str,\n },\n },\n Optional('SUP0 Authentication'): str,\n Optional('Fan Tray Authentication'): str,\n Optional('Line Card:6 Authentication'): str,\n Optional('Line Card:1 Authentication'): str,\n Optional('SUP1 Authentication'): str,\n Optional('Line Card:5 Authentication'): str,\n Optional('Line Card:2 Authentication'): str,\n Optional('Line Card:7 Authentication'): str,\n Optional('Line Card 1 Authentication'): str,\n Optional('Line Card 2 Authentication'): str,\n Optional('Line Card 5 Authentication'): str,\n Optional('Line Card:4 Authentication'): str,\n Optional('Line Card 6 Authentication'): str,\n Optional('Fan Tray 1 Authentication'): str,\n Optional('Chassis Authentication'): str,\n Optional('SSD FRU Authentication'): str,\n Optional('SUP 0 Authentication'): str,\n Optional('SUP 1 Authentication'): str,\n}", + "schema": "{\n Optional('switch'): {\n '': {\n 'mainboard_authentication': str,\n Optional('fru_authentication'): str,\n Optional('stack_cable_a_authentication'): str,\n Optional('stack_cable_b_authentication'): str,\n Optional('stack_adapter_a_authentication'): str,\n Optional('stack_adapter_b_authentication'): str,\n },\n },\n Optional('SUP0 Authentication'): str,\n Optional('SUP1 Authentication'): str,\n Optional('SUP 0 Authentication'): str,\n Optional('SUP 1 Authentication'): str,\n Optional('Fan Tray Authentication'): str,\n Optional('Fan Tray 1 Authentication'): str,\n Optional('Line Card:1 Authentication'): str,\n Optional('Line Card 1 Authentication'): str,\n Optional('Line Card:2 Authentication'): str,\n Optional('Line Card 2 Authentication'): str,\n Optional('Line Card:3 Authentication'): str,\n Optional('Line Card 3 Authentication'): str,\n Optional('Line Card:4 Authentication'): str,\n Optional('Line Card 4 Authentication'): str,\n Optional('Line Card:5 Authentication'): str,\n Optional('Line Card 5 Authentication'): str,\n Optional('Line Card:6 Authentication'): str,\n Optional('Line Card 6 Authentication'): str,\n Optional('Line Card:7 Authentication'): str,\n Optional('Line Card 7 Authentication'): str,\n Optional('Line Card:8 Authentication'): str,\n Optional('Line Card 8 Authentication'): str,\n Optional('Line Card:9 Authentication'): str,\n Optional('Line Card 9 Authentication'): str,\n Optional('Line Card:10 Authentication'): str,\n Optional('Line Card 10 Authentication'): str,\n Optional('Chassis Authentication'): str,\n Optional('SSD FRU Authentication'): str,\n}", "tokens": { "os": "iosxe" }, "uid": "show_platform_hardware_authentication_status", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L3737" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L3758" } } }, @@ -79751,6 +80248,36 @@ } } }, + "show platform hardware chassis fantray detail all": { + "folders": { + "iosxe": { + "folders": { + "cat9k": { + "folders": { + "c9610": { + "class": "ShowPlatformHardwareChassisFantrayDetailAll", + "doc": "Parser for:\n show platform hardware chassis fantray detail all\n ", + "module_name": "iosxe.cat9k.c9610.show_platform", + "package": "genie.libs.parser", + "schema": "{\n 'fantrays': {\n Any('*'): {\n Optional('fans'): {\n Any('*'): {\n Optional('inlet_rpm'): int,\n Optional('outlet_rpm'): int,\n Optional('pwm_percent'): int,\n },\n },\n Optional('air_flow_direction'): str,\n Optional('auto_poll_status'): str,\n Optional('auto_poll_interval_seconds'): float,\n Optional('control_mode'): str,\n Optional('temperatures'): {\n Optional('slot_5'): int,\n Optional('slot_6'): int,\n Optional('local_a'): int,\n Optional('local_b'): int,\n },\n Optional('input_voltage_v'): float,\n Optional('input_current_a'): float,\n Optional('input_power_w'): float,\n Optional('beacon_led'): str,\n Optional('status_led'): str,\n },\n },\n}", + "tokens": { + "model": "c9610" + }, + "uid": "show_platform_hardware_chassis_fantray_detail_all", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L1827" + } + }, + "tokens": { + "platform": "cat9k" + } + } + }, + "tokens": { + "os": "iosxe" + } + } + } + }, "show platform hardware chassis fantray detail switch {mode}": { "folders": { "iosxe": { @@ -79796,7 +80323,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_chassis_fantray_detail_switch_mode", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L3890" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L3911" } } }, @@ -79911,7 +80438,23 @@ "os": "iosxe" }, "uid": "show_platform_hardware_chassis_power-supply_detail_switch_mode_all", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L3960" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L3981" + } + } + }, + "show platform hardware chassis rp {rp_state} fan-speed-control-data": { + "folders": { + "iosxe": { + "class": "ShowPlatformHardwareChassisRpFanSpeedControlData", + "doc": "Parser for:\n show platform hardware chassis rp {rp_state} fan-speed-control-data\n ", + "module_name": "iosxe.show_hw", + "package": "genie.libs.parser", + "schema": "{\n 'slots': {\n Any('*'): {\n 'type': str,\n 'pwm': int,\n Optional('io_pwm'): Or (, ),\n },\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_platform_hardware_chassis_rp_rp_state_fan-speed-control-data", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_hw.py#L1259" } } }, @@ -79927,7 +80470,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_cpp_active_feature_firewall_session_create_session_context_num_sessions", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L7552" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L7573" } } }, @@ -79943,7 +80486,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_cpp_active_infrastructure_exmem_statistics_user", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L7371" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L7392" } } }, @@ -79959,7 +80502,23 @@ "os": "iosxe" }, "uid": "show_platform_hardware_cpp_active_statistics_drop", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L7621" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L7642" + } + } + }, + "show platform hardware cpp active system state": { + "folders": { + "iosxe": { + "class": "ShowPlatformHardwareCppActiveSystemState", + "doc": "Parser for show platform hardware cpp active system state", + "module_name": "iosxe.show_platform_hardware", + "package": "genie.libs.parser", + "schema": "{\n 'cpp_ha': str,\n 'cpp_cp': str,\n 'cpp_sp': str,\n 'fman_fp': str,\n 'cpp_driver0': str,\n 'platform_state': {\n 'curr': str,\n 'next': str,\n },\n 'ha_state': {\n 'cpp': int,\n 'dir': str,\n 'role': {\n 'curr': str,\n 'next': str,\n },\n },\n 'client_state': str,\n 'image': str,\n 'load_cnt': int,\n 'time': str,\n 'active_threads': str,\n 'fault_manager_flags': {\n 'ignore_fault': str,\n 'ignore_stuck_thread': str,\n 'crashdump_in_progress': str,\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_platform_hardware_cpp_active_system_state", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L14786" } } }, @@ -79975,7 +80534,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_crypto-device_utilization", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L6450" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L6471" } } }, @@ -80023,7 +80582,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#L8185" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8194" } } }, @@ -80086,7 +80645,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#L6300" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6301" } } }, @@ -80160,7 +80719,7 @@ "model": "c9610" }, "uid": "show_platform_hardware_fed_active_fwd-asic_resource_tcam_utilization", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L24" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L25" } }, "module_name": "iosxe.cat9k.c9550.show_platform", @@ -80180,7 +80739,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#L5639" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5640" } } }, @@ -80252,7 +80811,7 @@ "model": "c9610" }, "uid": "show_platform_hardware_fed_active_fwd-asic_resource_tcam_utilization_asic", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L24" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L25" } }, "module_name": "iosxe.cat9k.c9550.show_platform", @@ -80299,7 +80858,7 @@ "model": "c9610" }, "uid": "show_platform_hardware_fed_active_fwd-asic_resource_tcam_utilization_asic_slice-id_slice_id", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L24" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L25" } }, "tokens": { @@ -80392,7 +80951,7 @@ "model": "c9610" }, "uid": "show_platform_hardware_fed_active_qos_queue_config_interface_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L1030" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L1031" } }, "tokens": { @@ -80497,7 +81056,7 @@ "model": "c9610" }, "uid": "show_platform_hardware_fed_active_qos_queue_stats_interface_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L340" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L341" } }, "tokens": { @@ -80570,7 +81129,7 @@ "model": "c9610" }, "uid": "show_platform_hardware_fed_active_qos_queue_stats_interface_interface_clear", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L438" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L439" } }, "module_name": "iosxe.cat9k.c9550.show_platform", @@ -80665,7 +81224,7 @@ "model": "c9610" }, "uid": "show_platform_hardware_fed_standby_fwd-asic_resource_tcam_utilization", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L28" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L29" } }, "tokens": { @@ -80707,7 +81266,7 @@ "model": "c9610" }, "uid": "show_platform_hardware_fed_standby_fwd-asic_resource_tcam_utilization_asic", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L28" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L29" } }, "tokens": { @@ -80765,7 +81324,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_fed_switch_active_fwd-asic_insight_l2m_groups", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L8092" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L8113" } } }, @@ -80781,7 +81340,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_fed_switch_active_fwd-asic_insight_l2m_routes", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L7776" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L7797" } } }, @@ -80797,7 +81356,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_fed_switch_active_fwd-asic_insight_l3m_groups", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L8092" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L8113" } } }, @@ -80813,7 +81372,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_fed_switch_active_fwd-asic_insight_l3m_routes", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L7776" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L7797" } } }, @@ -80829,7 +81388,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_fed_switch_active_fwd-asic_insight_group_type", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L7881" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L7902" } } }, @@ -80875,7 +81434,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#L6584" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6585" } } }, @@ -80891,7 +81450,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#L8308" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8317" } } }, @@ -81043,7 +81602,7 @@ "model": "c9610" }, "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/cat9k/c9610/show_platform.py#L24" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L25" } }, "module_name": "iosxe.cat9k.c9550.show_platform", @@ -81063,7 +81622,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#L5639" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5640" } } }, @@ -81135,7 +81694,7 @@ "model": "c9610" }, "uid": "show_platform_hardware_fed_switch_mode_fwd-asic_resource_tcam_utilization_asic", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L24" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L25" } }, "module_name": "iosxe.cat9k.c9550.show_platform", @@ -81214,7 +81773,7 @@ "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#L7237" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L7258" } } }, @@ -81705,7 +82264,7 @@ "model": "c9610" }, "uid": "show_platform_hardware_fed_switch_switch_num_qos_queue_stats_interface_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L340" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L341" } }, "tokens": { @@ -81778,7 +82337,7 @@ "model": "c9610" }, "uid": "show_platform_hardware_fed_switch_switch_num_qos_queue_stats_interface_interface_clear", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L438" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L439" } }, "module_name": "iosxe.cat9k.c9550.show_platform", @@ -81936,7 +82495,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#L6300" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6301" } } }, @@ -82036,7 +82595,7 @@ "model": "c9610" }, "uid": "show_platform_hardware_fed_switch_switch_var_qos_queue_config_interface_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L1030" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L1031" } }, "tokens": { @@ -82238,7 +82797,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_fed_mode_npu_slot_1_port_port_num_eye_scan", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L7110" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L7131" } } }, @@ -82270,7 +82829,7 @@ "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#L7286" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L7307" } } }, @@ -82322,7 +82881,7 @@ "model": "c9610" }, "uid": "show_platform_hardware_fed_mode_qos_queue_stats_internal_port_type_recycle-port_port_num_port_num_asic_asic", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L1687" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L1688" } }, "tokens": { @@ -82400,7 +82959,7 @@ "model": "c9610" }, "uid": "show_platform_hardware_fed_mode_qos_scheduler_sdk_interface_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L621" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L622" } }, "module_name": "iosxe.cat9k.c9550.show_platform", @@ -82681,7 +83240,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#L8185" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8194" } } }, @@ -82730,7 +83289,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#L6300" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6301" } } }, @@ -82950,7 +83509,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#L5639" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5640" } } }, @@ -83034,7 +83593,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_fed_switch_mode_npu_slot_1_port_port_num_eye_scan", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L7110" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L7131" } } }, @@ -83066,7 +83625,7 @@ "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#L7286" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L7307" } } }, @@ -83118,7 +83677,7 @@ "model": "c9610" }, "uid": "show_platform_hardware_fed_switch_mode_qos_queue_stats_internal_port_type_recycle-port_port_num_port_num_asic_asic", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L1687" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L1688" } }, "tokens": { @@ -83196,7 +83755,7 @@ "model": "c9610" }, "uid": "show_platform_hardware_fed_switch_mode_qos_scheduler_sdk_interface_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L621" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L622" } }, "module_name": "iosxe.cat9k.c9550.show_platform", @@ -83321,6 +83880,20 @@ "iosxe": { "class": "ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDef", "doc": "Parser for 'show platform hardware fed {switch} {state} fwd-asic insight acl_table_def()'", + "folders": { + "rv1": { + "class": "ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDef", + "doc": "Parser for 'show platform hardware fed {switch} {state} fwd-asic insight acl_table_def()'", + "module_name": "iosxe.rv1.show_platform_hardware_fed", + "package": "genie.libs.parser", + "schema": "{\n 'acl_entries': {\n '': {\n 'acl_oid': int,\n Optional('acl_cookie'): str,\n 'acl_key_profile_oid': int,\n Optional('acl_key_profile_cookie'): str,\n 'acl_match_key_fields': ListOf (type) ,\n Optional('acl_range_cookie'): str,\n Optional('acl_range_direction'): str,\n Optional('acl_range_count'): str,\n Optional('acl_cmd_profile_oid'): int,\n Optional('acl_commands'): ListOf (type) ,\n Optional('source_pcl_info'): str,\n Optional('destination_pcl_info'): str,\n },\n },\n}", + "tokens": { + "revision": "1" + }, + "uid": "show_platform_hardware_fed_switch_state_fwd-asic_insight_acl_table_def()", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/rv1/show_platform_hardware_fed.py#L504" + } + }, "module_name": "iosxe.show_platform_hardware_fed", "package": "genie.libs.parser", "schema": "{\n 'acl_entries': {\n 'acl_oid': int,\n Optional('acl_cookie'): str,\n 'acl_key_profile_oid': int,\n Optional('acl_key_profile_cookie'): str,\n 'acl_match_key_fields': ListOf (type) ,\n Optional('acl_range_cookie'): str,\n Optional('acl_range_direction'): str,\n Optional('acl_range_count'): str,\n 'acl_cmd_profile_oid': int,\n 'acl_commands': ListOf (type) ,\n Optional('source_pcl_info'): str,\n Optional('destination_pcl_info'): str,\n },\n}", @@ -83983,7 +84556,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_fpga_switch_switch_num", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L6606" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L6627" } } }, @@ -83999,7 +84572,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_iomd_switch_switch_no_slot_portgroups", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L6351" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L6372" } } }, @@ -84015,7 +84588,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_iomd_switch_switch_no_slot_qos_port_port_no_ingress_queue_stats", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L6197" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L6218" } } }, @@ -84031,7 +84604,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_iomd_lc_no_macsec_port_port_no_sub-port_sub_port1_sub_port2___i_Free", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L6947" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L6968" } } }, @@ -84047,7 +84620,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_iomd_slot_portgroups", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L6351" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L6372" } } }, @@ -84063,7 +84636,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_iomd_slot_qos_port_port_no_ingress_queue_stats", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L6197" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L6218" } } }, @@ -84079,7 +84652,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_port_port_ezman_info", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L8654" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L8675" } } }, @@ -84107,7 +84680,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_port_port_plim_statistics", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L530" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L541" } } }, @@ -84123,7 +84696,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_classification_class-group-manager_class-group_client_cce_all", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L8181" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L8202" } } }, @@ -84139,7 +84712,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_classification_feature_tcam-usage", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L6547" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L6568" } } }, @@ -84155,7 +84728,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_datapath_infra_sw-cio", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L4542" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L4563" } } }, @@ -84171,7 +84744,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_datapath_infra_sw-distrib", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L5907" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L5928" } } }, @@ -84187,7 +84760,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_datapath_infra_sw-nic", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L4747" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L4768" } } }, @@ -84203,7 +84776,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_datapath_infrastructure_sw-hqf", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L8267" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L8288" } } }, @@ -84219,7 +84792,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_datapath_infrastructure_time_basic", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L8513" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L8534" } } }, @@ -84235,7 +84808,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_datapath_pmd_ifdev", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L5321" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L5342" } } }, @@ -84251,7 +84824,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_datapath_utilization_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L3234" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L3245" } } }, @@ -84267,7 +84840,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_alg_statistics", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L9442" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L9788" } } }, @@ -84283,7 +84856,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_alg_statistics_dnsshow_platform_hardware_qfp_active_feature_alg_statistics_dns_clear", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L9527" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L9873" } } }, @@ -84299,7 +84872,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_alg_statistics_msrpc", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L11015" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L11361" } } }, @@ -84315,7 +84888,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_alg_statistics_msrpc_clear", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L11015" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L11361" } } }, @@ -84331,7 +84904,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_alg_statistics_pop3", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L10336" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L10682" } } }, @@ -84347,7 +84920,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_alg_statistics_pop3_clear", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L10336" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L10682" } } }, @@ -84363,7 +84936,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_alg_statistics_sip_clear", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L11980" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L12325" } } }, @@ -84379,7 +84952,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_alg_statistics_sip_l7data", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L9219" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L9565" } } }, @@ -84395,7 +84968,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_alg_statistics_smtp", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L9731" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L10077" } } }, @@ -84411,7 +84984,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_alg_statistics_smtp_clear", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L9731" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L10077" } } }, @@ -84427,7 +85000,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_alg_statistics_sunrpc", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L9989" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L10335" } } }, @@ -84443,7 +85016,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_alg_statistics_sunrpc_clear", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L9989" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L10335" } } }, @@ -84459,7 +85032,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_appqoe_stats_all", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L2842" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L2853" } } }, @@ -84475,7 +85048,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_appqoe_stats_sng_sng_all", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L2842" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L2853" } } }, @@ -84491,7 +85064,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_bfd_datapath_session", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L8857" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L8878" } } }, @@ -84523,7 +85096,23 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_cts_client_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L7456" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L7477" + } + } + }, + "show platform hardware qfp active feature evc client l2cp-actions interface {interface}": { + "folders": { + "iosxe": { + "class": "ShowPlatformHardwareQfpActiveFeatureEvcClientL2cpActionsInterface", + "doc": "Parser for show platform hardware qfp active feature evc client l2cp-actions interface {interface}", + "module_name": "iosxe.show_platform_hardware", + "package": "genie.libs.parser", + "schema": "{\n 'efp_l2cp_actions': {\n Any('*'): str,\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_platform_hardware_qfp_active_feature_evc_client_l2cp-actions_interface_interface", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L13733" } } }, @@ -84539,7 +85128,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_firewall_client_statistics", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L10595" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L10941" } } }, @@ -84555,7 +85144,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_firewall_datapath_scb_any_any_any_any_any_all_any", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L11353" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L11699" } } }, @@ -84571,7 +85160,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_firewall_datapath_scb_any_any_any_any_any_all_any_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L12650" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L13186" } } }, @@ -84587,7 +85176,23 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_firewall_drop_clear", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L11297" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L11643" + } + } + }, + "show platform hardware qfp active feature firewall drop {actions}": { + "folders": { + "iosxe": { + "class": "ShowPlatformHardwareQfpActiveFeatureFirewallDrop", + "doc": "Parser for show platform hardware qfp active feature firewall drop\n show platform hardware qfp active feature firewall drop all\n show platform hardware qfp active feature firewall drop clear\n show platform hardware qfp active feature firewall drop verbose", + "module_name": "iosxe.show_platform_hardware", + "package": "genie.libs.parser", + "schema": "{\n '': int,\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_platform_hardware_qfp_active_feature_firewall_drop_actions", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L13596" } } }, @@ -84603,7 +85208,23 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_firewall_memory", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L9298" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L9644" + } + } + }, + "show platform hardware qfp active feature firewall runtime": { + "folders": { + "iosxe": { + "class": "ShowPlatformHardwareQfpActiveFeatureFirewallRuntime", + "doc": "Parser for show platform hardware qfp active feature firewall runtime", + "module_name": "iosxe.show_platform_hardware", + "package": "genie.libs.parser", + "schema": "{\n 'global': {\n Any('*'): {\n 'value': str,\n Optional('ha_state'): str,\n Optional('fw_configured'): str,\n Optional('init_done'): str,\n Optional('init_requested'): str,\n Optional('syslog_deployed'): str,\n Optional('salt'): int,\n Optional('global_simultaneous_packets_per_session'): int,\n Optional('default_simultaneous_packets_per_session'): int,\n Optional('half_open'): str,\n },\n },\n Optional('teardowns'): int,\n Optional('pam_cce'): str,\n Optional('num_zp_with_policy'): int,\n Optional('high_priority_recycle_queue_address'): str,\n Optional('low_priority_recycle_queue_address'): str,\n Optional('lock_upgrades'): int,\n Optional('half_open_aggressive_aging'): int,\n Optional('num_ack_exceeds_limit'): int,\n Optional('num_rst_exceeds_limit'): int,\n Optional('unknown_vrf_limit_exceeds'): int,\n Optional('syncookie_over_rate_cnt'): int,\n Optional('fw_tcp_session_termination'): {\n 'halfopen': {\n 'rst_sent': int,\n 'blocked': int,\n },\n 'idle': {\n 'rst_sent': int,\n 'blocked': int,\n },\n 'halfclose': {\n 'rst_sent': int,\n 'blocked': int,\n },\n },\n Optional('nat_caching'): {\n 'nat_registration': int,\n 'nat_unregistration': int,\n 'too_many_nat_sessions': int,\n 'cant_register_with_nat': int,\n 'invalid_nat_session': int,\n 'no_nat_session_caching': int,\n 'nat_cached_session': int,\n },\n Optional('l2_firewall'): {\n 'l2_unknown_encap': int,\n 'l2_skip_tcp_pkt': int,\n 'timer_stop_failed': int,\n },\n Optional('vrf_global_action_block'): {\n 'l7_inspection_disable_flags': str,\n 'total_sessions': {\n 'max_limit': int,\n 'current_count': int,\n 'exceed': int,\n 'aggr_age_high_watermark': int,\n 'aggr_age_low_watermark': int,\n 'num_times_enter_aggr_age': int,\n 'aggr_age_period': str,\n },\n 'tcp_syn_cookie': {\n 'max_limit': int,\n 'current_count': int,\n 'exceed': int,\n },\n 'total_half_open_sessions': {\n 'max_limit': int,\n 'current_count': int,\n 'exceed': int,\n 'aggr_age_high_watermark': int,\n 'aggr_age_low_watermark': int,\n 'num_times_enter_aggr_age': int,\n 'aggr_age_period': str,\n },\n 'tcp_half_open_sessions': {\n 'max_limit': int,\n 'current_count': int,\n 'exceed': int,\n },\n 'udp_half_open_sessions': {\n 'max_limit': int,\n 'current_count': int,\n 'exceed': int,\n },\n 'icmp_half_open_sessions': {\n 'max_limit': int,\n 'current_count': int,\n 'exceed': int,\n },\n 'domain_flags': str,\n },\n Optional('box_action_block'): {\n 'l7_inspection_disable_flags': str,\n 'total_sessions': {\n 'current_count': int,\n 'aggr_age_high_watermark': int,\n 'aggr_age_low_watermark': int,\n 'num_times_enter_aggr_age': int,\n 'aggr_age_period': str,\n },\n 'tcp_syn_cookie': {\n 'max_limit': int,\n 'current_count': int,\n 'exceed': int,\n },\n 'total_half_open_sessions': {\n 'max_limit': int,\n 'current_count': int,\n 'exceed': int,\n 'aggr_age_high_watermark': int,\n 'aggr_age_low_watermark': int,\n 'num_times_enter_aggr_age': int,\n 'aggr_age_period': str,\n },\n 'tcp_half_open_sessions': {\n 'max_limit': int,\n 'current_count': int,\n 'exceed': int,\n },\n 'udp_half_open_sessions': {\n 'max_limit': int,\n 'current_count': int,\n 'exceed': int,\n },\n 'icmp_half_open_sessions': {\n 'max_limit': int,\n 'current_count': int,\n 'exceed': int,\n },\n 'domain_flags': str,\n },\n Optional('fw_persona_alert_rlimit'): int,\n Optional('fw_persona_backpressure'): str,\n Optional('invalid_rg_exceeds_max'): int,\n Optional('invalid_ha_message_version'): int,\n Optional('rii_hash_table'): {\n 'address': str,\n 'size': int,\n },\n Optional('vrf_action_table'): {\n 'address': str,\n 'size': int,\n },\n Optional('avc_stats_table_index_out_of_range'): int,\n Optional('vrf_id_name_table'): {\n Any('*'): {\n 'id': int,\n 'name': str,\n 'vrf_namehash': str,\n 'ipv4': int,\n 'ipv6': int,\n },\n },\n Optional('fw_persona_address'): str,\n Optional('vpn_zone_table'): {\n 'address': str,\n 'size': int,\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_platform_hardware_qfp_active_feature_firewall_runtime", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L13944" } } }, @@ -84619,7 +85240,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_ipsec_data_drop", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L4106" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L4127" } } }, @@ -84635,7 +85256,23 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_ipsec_datapath_drops_all", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L5204" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L5225" + } + } + }, + "show platform hardware qfp active feature ipsec sa 3": { + "folders": { + "iosxe": { + "class": "ShowPlatformHardwareQfpActiveFeatureIpsecSa3", + "doc": "Parser for:\n show platform hardware qfp active feature ipsec sa 3\n ", + "module_name": "iosxe.show_platform_hardware", + "package": "genie.libs.parser", + "schema": "{\n 'qfp_ipsec_sa_information': {\n 'qfp_sa_id': int,\n 'pal_sa_id': int,\n 'qfp_spd_id': int,\n 'qfp_sp_id': int,\n 'qfp_spi': str,\n 'crypto_ctx': str,\n 'flags': str,\n 'flags_details': ListOf (type) ,\n 'flags_parsed': {\n '': str,\n },\n 'qos_group': str,\n 'mtu': str,\n 'mtu_adj': str,\n 'ext_ar_window_size': int,\n 'ext_ar_window_top': int,\n 'sar_delta': int,\n 'sar_window': str,\n 'sibling_sa': str,\n 'sp_ptr': str,\n 'sbs_ptr': str,\n 'local_endpoint': str,\n 'remote_endpoint': str,\n 'cgid_cid_fid_rid': str,\n 'ivrf': int,\n 'fvrf': int,\n 'trans_udp_sport': int,\n 'trans_udp_dport': int,\n 'first_intf_name': str,\n 'nat_fixup_src_port': int,\n 'nat_fixup_ip': str,\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_platform_hardware_qfp_active_feature_ipsec_sa_3", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L8961" } } }, @@ -84651,7 +85288,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_ipsec_state", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L7691" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L7712" } } }, @@ -84667,7 +85304,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_nat_data_stats", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L10261" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L10607" } } }, @@ -84683,7 +85320,23 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_nat_datapath_edm", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L13069" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L13660" + } + } + }, + "show platform hardware qfp active feature nat datapath esp": { + "folders": { + "iosxe": { + "class": "ShowPlatformHardwareQfpActiveFeatureNatDatapathEsp", + "doc": "Parser for show platform hardware qfp active feature nat datapath esp", + "module_name": "iosxe.show_platform", + "package": "genie.libs.parser", + "schema": "{\n 'esp_global_stats': {\n 'esp_count': int,\n 'esp_limit_fail_count': int,\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_platform_hardware_qfp_active_feature_nat_datapath_esp", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L11381" } } }, @@ -84699,7 +85352,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_nat_datapath_map", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L11217" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L11226" } } }, @@ -84715,7 +85368,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_nat_datapath_port", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L11016" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L11025" } } }, @@ -84731,7 +85384,23 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_nat_datapath_stats", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L9179" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L9525" + } + } + }, + "show platform hardware qfp active feature nat datapath {direction}": { + "folders": { + "iosxe": { + "class": "ShowPlatformHardwareQfpActiveFeatureNatDatapathGate", + "doc": "Parser for:\n * 'show platform hardware qfp active feature nat datapath gatein'\n * 'show platform hardware qfp active feature nat datapath gateout'\n ", + "module_name": "iosxe.show_platform_hardware", + "package": "genie.libs.parser", + "schema": "{\n 'gatekeeper_status': str,\n Optional('entries'): {\n Any('*'): {\n 'sip': str,\n 'vrf': int,\n 'cnt': int,\n 'ts': str,\n 'idx': int,\n },\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_platform_hardware_qfp_active_feature_nat_datapath_direction", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L14689" } } }, @@ -84747,7 +85416,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_nat66_datapath_prefix", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L6681" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L6702" } } }, @@ -84763,7 +85432,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_qos_interface_interface_hierarchy_detail___include_subdev", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L4299" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L4320" } } }, @@ -84795,7 +85464,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_sdwan_datapath_fec_global", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L3559" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L3570" } } }, @@ -84811,7 +85480,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_sdwan_datapath_fec_session_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L3633" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L3644" } } }, @@ -84859,7 +85528,23 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_feature_tcp_stats_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L7968" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L7989" + } + } + }, + "show platform hardware qfp active feature td datapath statistics": { + "folders": { + "iosxe": { + "class": "ShowPlatformHardwareQfpActiveFeatureTdDatapathStatistics", + "doc": "Parser for show platform hardware qfp active feature td datapath statistics", + "module_name": "iosxe.show_platform_hardware", + "package": "genie.libs.parser", + "schema": "{\n 'pool_usage': {\n 'vtcp_info_alloc': {\n 'alloc': int,\n 'free': int,\n 'fail': int,\n },\n 'pkt_buf_alloc': {\n 'alloc': int,\n 'free': int,\n 'fail': int,\n },\n 'buf_size_alloc': {\n 'alloc': int,\n 'free': int,\n },\n },\n 'receive': {\n 'alg_proc_csum': int,\n 'off_csum': int,\n 'lisp_seg': int,\n 'out_of_order': int,\n 'retrans': int,\n 'overlap': int,\n 'dup_ack': int,\n },\n 'send': {\n 'rx_ack': int,\n 'rst': int,\n 'hold_rst': int,\n 'tx_hold_rexmit': int,\n 'tx_rexmit': int,\n 'tx_seg': int,\n },\n 'events_errors': {\n 'tcp_fixup_drop': int,\n 'invalid_sync': int,\n 'invalid_opt': int,\n 'tcp_invalid_rx': int,\n 'invalid_tx': int,\n 'pkt_err': int,\n 'mem_err': int,\n 'pa_err': int,\n 'hex_limit': int,\n 'tcp_flag_noack': int,\n 'punt_err': int,\n 'l2_not_supported': int,\n 'first_pkt_non_syn': int,\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_platform_hardware_qfp_active_feature_td_datapath_statistics", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L12937" } } }, @@ -84891,7 +85576,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_infra_punt_stat_type_per___ex__0_", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L4423" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L4444" } } }, @@ -84919,7 +85604,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_infrastructure_bqs_queue_output_default_all", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L139" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L150" } } }, @@ -84947,7 +85632,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_infrastructure_bqs_queue_output_default_interface_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L139" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L150" } } }, @@ -84963,7 +85648,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_infrastructure_bqs_status___include_QOS_QFP", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L4227" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L4248" } } }, @@ -84979,7 +85664,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_infrastructure_exmem_statistics", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L6066" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L6087" } } }, @@ -84995,7 +85680,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_interface_all_statistics_drop_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L4355" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L4376" } } }, @@ -85011,7 +85696,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_interface_if-name_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L8944" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L9290" } } }, @@ -85027,7 +85712,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_system_state", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L4971" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L4992" } } }, @@ -85043,7 +85728,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_active_tcam_resource-manager_usage", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L3366" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L3377" } } }, @@ -85071,7 +85756,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_status_bqs_slot_ipm_mapping", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L1034" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L1045" } } }, @@ -85099,7 +85784,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_status_bqs_slot_opm_mapping", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L968" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L979" } } }, @@ -85127,7 +85812,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_status_bqs_slot_iotype_statistics_channel_all", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L1962" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L1973" } } }, @@ -85143,7 +85828,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_status_interface_if-name_interface_path", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L6781" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L6802" } } }, @@ -85171,7 +85856,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_status_interface_if-name_interface_statistics", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L2208" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L2219" } } }, @@ -85199,7 +85884,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_status_statistics_drop", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L2312" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L2323" } } }, @@ -85215,7 +85900,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_status_statistics_drop_clear", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L2370" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L2381" } } }, @@ -85231,7 +85916,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_status_statistics_drop_history", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L2454" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L2465" } } }, @@ -85247,7 +85932,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_status_statistics_drop_history_clear", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L2572" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L2583" } } }, @@ -85275,7 +85960,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_qfp_status_statistics_drop___exclude_exclude", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L2312" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L2323" } } }, @@ -85303,7 +85988,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_slot_slot_plim_statistics", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L530" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L541" } } }, @@ -85331,7 +86016,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_slot_slot_plim_statistics_internal", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L530" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L541" } } }, @@ -85359,7 +86044,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_slot_slot_serdes_statistics", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L1166" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L1177" } } }, @@ -85387,7 +86072,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_slot_slot_serdes_statistics_internal", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L1263" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L1274" } } }, @@ -85403,7 +86088,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_subslot_id_module_interface_intf_status", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L1531" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L1542" } } }, @@ -85431,7 +86116,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_subslot_subslot_plim_statistics", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L530" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L541" } } }, @@ -85447,7 +86132,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_throughput_crypto", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L3450" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L3461" } } }, @@ -85463,7 +86148,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_throughput_level", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L5830" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L5851" } } }, @@ -85479,7 +86164,7 @@ "os": "iosxe" }, "uid": "show_platform_hardware_voltage_margin_switch_mode_rp_active", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L4163" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_hardware.py#L4184" } } }, @@ -85499,7 +86184,7 @@ "revision": "1" }, "uid": "show_platform_host-access-table_intf", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/rv1/show_platform.py#L1160" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/rv1/show_platform.py#L1158" } }, "module_name": "iosxe.show_platform", @@ -85509,7 +86194,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#L7952" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7961" } } }, @@ -85525,7 +86210,7 @@ "os": "iosxe" }, "uid": "show_platform_integrity", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5387" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5388" } } }, @@ -85541,7 +86226,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#L5387" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5388" } } }, @@ -85557,7 +86242,7 @@ "os": "iosxe" }, "uid": "show_platform_integrity_signature", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5387" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5388" } } }, @@ -85605,7 +86290,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#L6506" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6507" } } }, @@ -85621,7 +86306,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#L6401" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6402" } } }, @@ -85637,7 +86322,7 @@ "os": "iosxe" }, "uid": "show_platform_nat_translations_standby", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9857" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9866" } } }, @@ -85653,7 +86338,7 @@ "os": "iosxe" }, "uid": "show_platform_nat_translations_standby_statistics", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9919" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9928" } } }, @@ -85664,12 +86349,12 @@ "doc": "\n parser for `show platform packet-trace packet all|packet_id`\n ", "module_name": "iosxe.show_platform", "package": "genie.libs.parser", - "schema": "{\n 'packets': {\n '': {\n 'cbug_id': int,\n 'summary': {\n 'input': str,\n 'output': str,\n 'state': str,\n 'start_timestamp_ns': int,\n 'stop_timestamp_ns': int,\n 'start_timestamp': str,\n 'stop_timestamp': str,\n },\n 'path_trace': {\n Optional('ipv4_input'): {\n 'input': str,\n 'output': str,\n 'source': str,\n 'destination': str,\n 'protocol': str,\n Optional('src_port'): str,\n Optional('dst_port'): str,\n },\n Optional('ipv4_output'): {\n 'input': str,\n 'output': str,\n 'source': str,\n 'destination': str,\n 'protocol': str,\n Optional('src_port'): str,\n Optional('dst_port'): str,\n },\n Optional('icmpv4_input'): {\n 'input': str,\n 'output': str,\n 'type': str,\n 'code': str,\n },\n Optional('icmpv4_output'): {\n 'input': str,\n 'output': str,\n 'type': str,\n 'code': str,\n },\n Optional('zbfw'): {\n 'action': str,\n 'egress_interface': str,\n 'avc_classification_id': str,\n 'avc_classification_name': str,\n 'output_vpn_id': str,\n 'class_map_name': str,\n 'input_vpn_id': str,\n 'zone_pair_name': str,\n 'utd_context_id': str,\n 'policy_name': str,\n 'input_vrf_id': str,\n 'input_interface': str,\n 'output_vrf_id': str,\n },\n Optional('cft'): {\n 'api': str,\n 'packet_capabilities': str,\n 'input_vrf_idx': str,\n 'calling_feature': str,\n 'direction': str,\n 'triplet_vrf_idx': str,\n 'triplet_network_start': str,\n 'triplet_triplet_flags': str,\n 'triplet_counter': str,\n 'cft_bucket_number': str,\n 'cft_l3_payload_size': str,\n 'cft_pkt_ind_flags': str,\n 'cft_pkt_ind_valid': str,\n 'tuple_src_ip': str,\n 'tuple_dst_ip': str,\n 'tuple_src_port': str,\n 'tuple_dst_port': str,\n 'tuple_vrfid': str,\n 'tuple_l4_protocol': str,\n 'tuple_l3_protocol': str,\n 'pkt_sb_state': str,\n 'pkt_sb_num_flows': str,\n 'pkt_sb_tuple_epoch': str,\n 'returned_cft_error': str,\n 'returned_fid': str,\n },\n Optional('nbar'): {\n 'packet_number_in_flow': str,\n 'classification_state': str,\n 'classification_name': str,\n 'classification_id': str,\n 'classification_source': str,\n 'number_of_matched_sub_classifications': str,\n 'number_of_extracted_fields': str,\n 'is_pa_split_packet': str,\n 'tph_mqc_bitmask_value': str,\n },\n Optional('qos'): {\n 'direction': str,\n 'action': str,\n 'fields': str,\n },\n Optional('ipsec'): {\n 'action': str,\n 'sa_handle': str,\n 'spi': str,\n 'peer_addr': str,\n 'local_addr': str,\n },\n Optional('nat'): {\n 'direction': str,\n 'from': str,\n 'action': str,\n 'fwd_point': str,\n 'vrf': str,\n 'table_id': str,\n 'protocol': str,\n 'src_addr': str,\n 'dest_addr': str,\n 'src_port': str,\n 'dst_port': str,\n },\n },\n Optional('iosd_flow'): {\n Optional('infra'): {\n 'pkt_direction': str,\n 'packet_rcvd_from': str,\n },\n Optional('ip'): {\n 'pkt_direction': str,\n 'packet_enqueued_in': str,\n 'source': str,\n 'destination': str,\n 'interface': str,\n },\n Optional('tcp'): {\n 'pkt_direction': str,\n 'tcp0': str,\n },\n Optional('udp'): {\n 'pkt_direction': str,\n 'src': str,\n 'dst': str,\n 'length': str,\n },\n },\n },\n },\n}", + "schema": "{\n 'packets': {\n '': {\n 'cbug_id': int,\n 'summary': {\n 'input': str,\n 'output': str,\n 'state': str,\n 'start_timestamp_ns': int,\n 'stop_timestamp_ns': int,\n 'start_timestamp': str,\n 'stop_timestamp': str,\n },\n 'path_trace': {\n Optional('ipv4_input'): {\n 'input': str,\n 'output': str,\n 'source': str,\n 'destination': str,\n 'protocol': str,\n Optional('src_port'): str,\n Optional('dst_port'): str,\n },\n Optional('ipv4_output'): {\n 'input': str,\n 'output': str,\n 'source': str,\n 'destination': str,\n 'protocol': str,\n Optional('src_port'): str,\n Optional('dst_port'): str,\n },\n Optional('icmpv4_input'): {\n 'input': str,\n 'output': str,\n 'type': str,\n 'code': str,\n },\n Optional('icmpv4_output'): {\n 'input': str,\n 'output': str,\n 'type': str,\n 'code': str,\n },\n Optional('zbfw'): {\n 'action': str,\n 'egress_interface': str,\n 'avc_classification_id': str,\n 'avc_classification_name': str,\n 'output_vpn_id': str,\n 'class_map_name': str,\n 'input_vpn_id': str,\n 'zone_pair_name': str,\n 'utd_context_id': str,\n 'policy_name': str,\n 'input_vrf_id': str,\n 'input_interface': str,\n 'output_vrf_id': str,\n },\n Optional('cft'): {\n 'api': str,\n 'packet_capabilities': str,\n 'input_vrf_idx': str,\n 'calling_feature': str,\n 'direction': str,\n 'triplet_vrf_idx': str,\n 'triplet_network_start': str,\n 'triplet_triplet_flags': str,\n 'triplet_counter': str,\n 'cft_bucket_number': str,\n 'cft_l3_payload_size': str,\n 'cft_pkt_ind_flags': str,\n 'cft_pkt_ind_valid': str,\n 'tuple_src_ip': str,\n 'tuple_dst_ip': str,\n 'tuple_src_port': str,\n 'tuple_dst_port': str,\n 'tuple_vrfid': str,\n 'tuple_l4_protocol': str,\n 'tuple_l3_protocol': str,\n 'pkt_sb_state': str,\n 'pkt_sb_num_flows': str,\n 'pkt_sb_tuple_epoch': str,\n 'returned_cft_error': str,\n 'returned_fid': str,\n },\n Optional('nbar'): {\n 'packet_number_in_flow': str,\n 'classification_state': str,\n 'classification_name': str,\n 'classification_id': str,\n 'classification_source': str,\n 'number_of_matched_sub_classifications': str,\n 'number_of_extracted_fields': str,\n 'is_pa_split_packet': str,\n 'tph_mqc_bitmask_value': str,\n },\n Optional('qos'): {\n 'direction': str,\n 'action': str,\n Optional('fields'): str,\n Optional('pak_priority'): str,\n Optional('priority'): str,\n Optional('queue_id'): str,\n Optional('pal_queue_id'): str,\n Optional('queue_limit'): str,\n Optional('wred_enabled'): str,\n Optional('inst_queue_len'): str,\n Optional('avg_queue_len'): str,\n },\n Optional('ipsec'): {\n 'action': str,\n 'sa_handle': str,\n 'spi': str,\n 'peer_addr': str,\n 'local_addr': str,\n },\n Optional('nat'): {\n 'direction': str,\n 'from': str,\n 'action': str,\n 'fwd_point': str,\n 'vrf': str,\n 'table_id': str,\n 'protocol': str,\n 'src_addr': str,\n 'dest_addr': str,\n 'src_port': str,\n 'dst_port': str,\n },\n },\n Optional('iosd_flow'): {\n Optional('infra'): {\n 'pkt_direction': str,\n 'packet_rcvd_from': str,\n },\n Optional('ip'): {\n 'pkt_direction': str,\n 'packet_enqueued_in': str,\n 'source': str,\n 'destination': str,\n 'interface': str,\n },\n Optional('tcp'): {\n 'pkt_direction': str,\n 'tcp0': str,\n },\n Optional('udp'): {\n 'pkt_direction': str,\n 'src': str,\n 'dst': str,\n 'length': str,\n },\n },\n },\n },\n}", "tokens": { "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#L7362" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7371" } } }, @@ -85680,12 +86365,12 @@ "doc": "\n parser for `show platform packet-trace packet all|packet_id`\n ", "module_name": "iosxe.show_platform", "package": "genie.libs.parser", - "schema": "{\n 'packets': {\n '': {\n 'cbug_id': int,\n 'summary': {\n 'input': str,\n 'output': str,\n 'state': str,\n 'start_timestamp_ns': int,\n 'stop_timestamp_ns': int,\n 'start_timestamp': str,\n 'stop_timestamp': str,\n },\n 'path_trace': {\n Optional('ipv4_input'): {\n 'input': str,\n 'output': str,\n 'source': str,\n 'destination': str,\n 'protocol': str,\n Optional('src_port'): str,\n Optional('dst_port'): str,\n },\n Optional('ipv4_output'): {\n 'input': str,\n 'output': str,\n 'source': str,\n 'destination': str,\n 'protocol': str,\n Optional('src_port'): str,\n Optional('dst_port'): str,\n },\n Optional('icmpv4_input'): {\n 'input': str,\n 'output': str,\n 'type': str,\n 'code': str,\n },\n Optional('icmpv4_output'): {\n 'input': str,\n 'output': str,\n 'type': str,\n 'code': str,\n },\n Optional('zbfw'): {\n 'action': str,\n 'egress_interface': str,\n 'avc_classification_id': str,\n 'avc_classification_name': str,\n 'output_vpn_id': str,\n 'class_map_name': str,\n 'input_vpn_id': str,\n 'zone_pair_name': str,\n 'utd_context_id': str,\n 'policy_name': str,\n 'input_vrf_id': str,\n 'input_interface': str,\n 'output_vrf_id': str,\n },\n Optional('cft'): {\n 'api': str,\n 'packet_capabilities': str,\n 'input_vrf_idx': str,\n 'calling_feature': str,\n 'direction': str,\n 'triplet_vrf_idx': str,\n 'triplet_network_start': str,\n 'triplet_triplet_flags': str,\n 'triplet_counter': str,\n 'cft_bucket_number': str,\n 'cft_l3_payload_size': str,\n 'cft_pkt_ind_flags': str,\n 'cft_pkt_ind_valid': str,\n 'tuple_src_ip': str,\n 'tuple_dst_ip': str,\n 'tuple_src_port': str,\n 'tuple_dst_port': str,\n 'tuple_vrfid': str,\n 'tuple_l4_protocol': str,\n 'tuple_l3_protocol': str,\n 'pkt_sb_state': str,\n 'pkt_sb_num_flows': str,\n 'pkt_sb_tuple_epoch': str,\n 'returned_cft_error': str,\n 'returned_fid': str,\n },\n Optional('nbar'): {\n 'packet_number_in_flow': str,\n 'classification_state': str,\n 'classification_name': str,\n 'classification_id': str,\n 'classification_source': str,\n 'number_of_matched_sub_classifications': str,\n 'number_of_extracted_fields': str,\n 'is_pa_split_packet': str,\n 'tph_mqc_bitmask_value': str,\n },\n Optional('qos'): {\n 'direction': str,\n 'action': str,\n 'fields': str,\n },\n Optional('ipsec'): {\n 'action': str,\n 'sa_handle': str,\n 'spi': str,\n 'peer_addr': str,\n 'local_addr': str,\n },\n Optional('nat'): {\n 'direction': str,\n 'from': str,\n 'action': str,\n 'fwd_point': str,\n 'vrf': str,\n 'table_id': str,\n 'protocol': str,\n 'src_addr': str,\n 'dest_addr': str,\n 'src_port': str,\n 'dst_port': str,\n },\n },\n Optional('iosd_flow'): {\n Optional('infra'): {\n 'pkt_direction': str,\n 'packet_rcvd_from': str,\n },\n Optional('ip'): {\n 'pkt_direction': str,\n 'packet_enqueued_in': str,\n 'source': str,\n 'destination': str,\n 'interface': str,\n },\n Optional('tcp'): {\n 'pkt_direction': str,\n 'tcp0': str,\n },\n Optional('udp'): {\n 'pkt_direction': str,\n 'src': str,\n 'dst': str,\n 'length': str,\n },\n },\n },\n },\n}", + "schema": "{\n 'packets': {\n '': {\n 'cbug_id': int,\n 'summary': {\n 'input': str,\n 'output': str,\n 'state': str,\n 'start_timestamp_ns': int,\n 'stop_timestamp_ns': int,\n 'start_timestamp': str,\n 'stop_timestamp': str,\n },\n 'path_trace': {\n Optional('ipv4_input'): {\n 'input': str,\n 'output': str,\n 'source': str,\n 'destination': str,\n 'protocol': str,\n Optional('src_port'): str,\n Optional('dst_port'): str,\n },\n Optional('ipv4_output'): {\n 'input': str,\n 'output': str,\n 'source': str,\n 'destination': str,\n 'protocol': str,\n Optional('src_port'): str,\n Optional('dst_port'): str,\n },\n Optional('icmpv4_input'): {\n 'input': str,\n 'output': str,\n 'type': str,\n 'code': str,\n },\n Optional('icmpv4_output'): {\n 'input': str,\n 'output': str,\n 'type': str,\n 'code': str,\n },\n Optional('zbfw'): {\n 'action': str,\n 'egress_interface': str,\n 'avc_classification_id': str,\n 'avc_classification_name': str,\n 'output_vpn_id': str,\n 'class_map_name': str,\n 'input_vpn_id': str,\n 'zone_pair_name': str,\n 'utd_context_id': str,\n 'policy_name': str,\n 'input_vrf_id': str,\n 'input_interface': str,\n 'output_vrf_id': str,\n },\n Optional('cft'): {\n 'api': str,\n 'packet_capabilities': str,\n 'input_vrf_idx': str,\n 'calling_feature': str,\n 'direction': str,\n 'triplet_vrf_idx': str,\n 'triplet_network_start': str,\n 'triplet_triplet_flags': str,\n 'triplet_counter': str,\n 'cft_bucket_number': str,\n 'cft_l3_payload_size': str,\n 'cft_pkt_ind_flags': str,\n 'cft_pkt_ind_valid': str,\n 'tuple_src_ip': str,\n 'tuple_dst_ip': str,\n 'tuple_src_port': str,\n 'tuple_dst_port': str,\n 'tuple_vrfid': str,\n 'tuple_l4_protocol': str,\n 'tuple_l3_protocol': str,\n 'pkt_sb_state': str,\n 'pkt_sb_num_flows': str,\n 'pkt_sb_tuple_epoch': str,\n 'returned_cft_error': str,\n 'returned_fid': str,\n },\n Optional('nbar'): {\n 'packet_number_in_flow': str,\n 'classification_state': str,\n 'classification_name': str,\n 'classification_id': str,\n 'classification_source': str,\n 'number_of_matched_sub_classifications': str,\n 'number_of_extracted_fields': str,\n 'is_pa_split_packet': str,\n 'tph_mqc_bitmask_value': str,\n },\n Optional('qos'): {\n 'direction': str,\n 'action': str,\n Optional('fields'): str,\n Optional('pak_priority'): str,\n Optional('priority'): str,\n Optional('queue_id'): str,\n Optional('pal_queue_id'): str,\n Optional('queue_limit'): str,\n Optional('wred_enabled'): str,\n Optional('inst_queue_len'): str,\n Optional('avg_queue_len'): str,\n },\n Optional('ipsec'): {\n 'action': str,\n 'sa_handle': str,\n 'spi': str,\n 'peer_addr': str,\n 'local_addr': str,\n },\n Optional('nat'): {\n 'direction': str,\n 'from': str,\n 'action': str,\n 'fwd_point': str,\n 'vrf': str,\n 'table_id': str,\n 'protocol': str,\n 'src_addr': str,\n 'dest_addr': str,\n 'src_port': str,\n 'dst_port': str,\n },\n },\n Optional('iosd_flow'): {\n Optional('infra'): {\n 'pkt_direction': str,\n 'packet_rcvd_from': str,\n },\n Optional('ip'): {\n 'pkt_direction': str,\n 'packet_enqueued_in': str,\n 'source': str,\n 'destination': str,\n 'interface': str,\n },\n Optional('tcp'): {\n 'pkt_direction': str,\n 'tcp0': str,\n },\n Optional('udp'): {\n 'pkt_direction': str,\n 'src': str,\n 'dst': str,\n 'length': str,\n },\n },\n },\n },\n}", "tokens": { "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#L7362" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7371" } } }, @@ -85701,7 +86386,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#L7070" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7071" } } }, @@ -85717,7 +86402,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#L7164" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7165" } } }, @@ -85733,7 +86418,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#L9399" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9408" } } }, @@ -85749,7 +86434,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#L8532" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8541" } } }, @@ -85765,7 +86450,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#L8043" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8052" } } }, @@ -85793,7 +86478,7 @@ "os": "iosxe" }, "uid": "show_platform_power", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4865" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4866" } } }, @@ -85809,7 +86494,7 @@ "os": "iosxe" }, "uid": "show_platform_resources", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5862" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5863" } } }, @@ -85825,7 +86510,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#L3806" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3807" } } }, @@ -85841,7 +86526,7 @@ "os": "iosxe" }, "uid": "show_platform_software_MCU_switch_switch_num_routeprocessor_snapshot_detail_display", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L10012" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L10013" } } }, @@ -85857,7 +86542,7 @@ "os": "iosxe" }, "uid": "show_platform_software_access-list_F0_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L5839" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L5840" } } }, @@ -85873,7 +86558,7 @@ "os": "iosxe" }, "uid": "show_platform_software_access-list_fp_active_statistics", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L11831" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L11832" } } }, @@ -85889,7 +86574,7 @@ "os": "iosxe" }, "uid": "show_platform_software_access-list_switch_mode_F0_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L5839" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L5840" } } }, @@ -85905,7 +86590,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#L6003" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L6004" } } }, @@ -85921,7 +86606,7 @@ "os": "iosxe" }, "uid": "show_platform_software_adjacency_RP_active", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L10649" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L10650" } } }, @@ -85937,7 +86622,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#L5275" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L5276" } } }, @@ -85953,7 +86638,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#L3463" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3464" } } }, @@ -85990,7 +86675,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#L4631" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L4632" } } }, @@ -86054,7 +86739,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#L2632" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2633" } } }, @@ -86070,7 +86755,7 @@ "os": "iosxe" }, "uid": "show_platform_software_cpm_switch_mode_B0_counters_drop", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2091" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2092" } } }, @@ -86086,7 +86771,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#L7852" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L7853" } } }, @@ -86102,7 +86787,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#L7770" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L7771" } } }, @@ -86118,7 +86803,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#L2163" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2164" } } }, @@ -86134,7 +86819,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#L2386" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2387" } } }, @@ -86150,7 +86835,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#L2452" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2453" } } }, @@ -86166,7 +86851,7 @@ "os": "iosxe" }, "uid": "show_platform_software_cpm_switch_mode_B0_packets_controlmode_transmitmode", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L10014" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L10023" } } }, @@ -86182,7 +86867,7 @@ "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#L2710" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2711" } } }, @@ -86198,7 +86883,7 @@ "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#L2091" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2092" } } }, @@ -86214,7 +86899,7 @@ "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#L7852" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L7853" } } }, @@ -86230,7 +86915,7 @@ "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#L7770" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L7771" } } }, @@ -86246,7 +86931,7 @@ "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#L2163" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2164" } } }, @@ -86262,7 +86947,7 @@ "os": "iosxe" }, "uid": "show_platform_software_cpm_switch_mode_BP_mode2_packets_controlmode_transmitmode", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L10014" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L10023" } } }, @@ -86278,7 +86963,7 @@ "os": "iosxe" }, "uid": "show_platform_software_dbal_smd_R0_database_all", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L1833" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L1834" } } }, @@ -86294,7 +86979,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#L5925" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L5926" } } }, @@ -86310,7 +86995,7 @@ "os": "iosxe" }, "uid": "show_platform_software_dns-umbrella_statistics", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L1949" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L1950" } } }, @@ -86326,7 +87011,7 @@ "os": "iosxe" }, "uid": "show_platform_software_dpidb_index", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L1782" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L1783" } } }, @@ -86358,7 +87043,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#L3713" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3714" } } }, @@ -89956,7 +90641,7 @@ "model": "c9610" }, "uid": "show_platform_software_fed_mode_acl_info_db_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L85" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L86" } }, "module_name": "iosxe.cat9k.c9550.show_platform", @@ -90090,7 +90775,7 @@ "model": "c9610" }, "uid": "show_platform_software_fed_mode_ipv6_route_summary___include_match", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L933" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L934" } }, "tokens": { @@ -91603,7 +92288,7 @@ "model": "c9610" }, "uid": "show_platform_software_fed_switch_ip_route_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L1538" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L1539" } }, "tokens": { @@ -91885,7 +92570,7 @@ "model": "c9610" }, "uid": "show_platform_software_fed_switch_mode_acl_info_db_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L85" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L86" } }, "module_name": "iosxe.cat9k.c9550.show_platform", @@ -92307,7 +92992,7 @@ "model": "c9610" }, "uid": "show_platform_software_fed_switch_mode_ipv6_route_summary___include_match", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L933" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py#L934" } }, "tokens": { @@ -93394,7 +94079,7 @@ "os": "iosxe" }, "uid": "show_platform_software_firewall_FP_active_pairs", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L12385" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L12386" } } }, @@ -93410,7 +94095,7 @@ "os": "iosxe" }, "uid": "show_platform_software_firewall_processor_active_vrf-pmap-binding", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L12433" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L12434" } } }, @@ -93426,7 +94111,7 @@ "os": "iosxe" }, "uid": "show_platform_software_firewall_processor_active_zones", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L12566" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L12567" } } }, @@ -93442,7 +94127,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#L5383" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L5384" } } }, @@ -93458,7 +94143,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#L9220" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L9221" } } }, @@ -93474,7 +94159,7 @@ "os": "iosxe" }, "uid": "show_platform_software_infrastructure_punt", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L10161" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L10170" } } }, @@ -93490,7 +94175,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#L2986" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2987" } } }, @@ -93506,7 +94191,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#L4546" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L4547" } } }, @@ -93522,7 +94207,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#L3058" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3059" } } }, @@ -93538,7 +94223,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#L8501" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8502" } } }, @@ -93554,7 +94239,7 @@ "os": "iosxe" }, "uid": "show_platform_software_interface_fp_active_name_name", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L10883" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L10884" } } }, @@ -93570,7 +94255,7 @@ "os": "iosxe" }, "uid": "show_platform_software_interface_switch_mode_F0_brief", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L1894" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L1895" } } }, @@ -93586,7 +94271,7 @@ "os": "iosxe" }, "uid": "show_platform_software_iomd_1/0_macsec_interface_interface_brief", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L1246" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L1247" } } }, @@ -93602,7 +94287,7 @@ "os": "iosxe" }, "uid": "show_platform_software_iomd_1/0_macsec_interface_interface_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L1397" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L1398" } } }, @@ -93618,7 +94303,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#L6296" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L6297" } } }, @@ -93634,7 +94319,7 @@ "os": "iosxe" }, "uid": "show_platform_software_l2vpn_fp_active_atom", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L10554" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L10555" } } }, @@ -93666,7 +94351,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#L9370" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L9371" } } }, @@ -93682,7 +94367,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#L8913" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8914" } } }, @@ -93698,7 +94383,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#L8793" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8794" } } }, @@ -93714,7 +94399,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#L7642" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L7643" } } }, @@ -93730,7 +94415,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#L7642" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L7643" } } }, @@ -93746,7 +94431,7 @@ "os": "iosxe" }, "uid": "show_platform_software_memory_database_forwarding-manager_slot_active_brief___include_options", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L11661" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L11662" } } }, @@ -93882,7 +94567,7 @@ "os": "iosxe" }, "uid": "show_platform_software_memory_forwarding-manager_F0_brief___include_option", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L12337" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L12338" } } }, @@ -93898,7 +94583,7 @@ "os": "iosxe" }, "uid": "show_platform_software_memory_process_RP_active", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L641" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L642" } } }, @@ -93914,7 +94599,7 @@ "os": "iosxe" }, "uid": "show_platform_software_memory_process_RP_active_alloc_callsite", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L856" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L857" } } }, @@ -93930,7 +94615,7 @@ "os": "iosxe" }, "uid": "show_platform_software_memory_process_RP_active_alloc_callsite_brief", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L951" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L952" } } }, @@ -93946,7 +94631,7 @@ "os": "iosxe" }, "uid": "show_platform_software_memory_process_RP_active_alloc_type_alloc_type", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L1034" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L1035" } } }, @@ -93962,7 +94647,7 @@ "os": "iosxe" }, "uid": "show_platform_software_memory_process_RP_active_alloc_type_alloc_type_brief", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L1153" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L1154" } } }, @@ -93978,7 +94663,7 @@ "os": "iosxe" }, "uid": "show_platform_software_memory_process_RP_active_brief", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L756" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L757" } } }, @@ -93994,7 +94679,7 @@ "os": "iosxe" }, "uid": "show_platform_software_memory_process_chassis_active_slot", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L721" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L722" } } }, @@ -94010,7 +94695,7 @@ "os": "iosxe" }, "uid": "show_platform_software_memory_process_chassis_active_slot_brief", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L816" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L817" } } }, @@ -94026,7 +94711,7 @@ "os": "iosxe" }, "uid": "show_platform_software_memory_process_switch_active_slot", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L703" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L704" } } }, @@ -94042,7 +94727,7 @@ "os": "iosxe" }, "uid": "show_platform_software_memory_process_switch_active_slot_alloc_backtrace", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L371" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L372" } } }, @@ -94058,7 +94743,7 @@ "os": "iosxe" }, "uid": "show_platform_software_memory_process_switch_active_slot_alloc_callsite", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L912" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L913" } } }, @@ -94074,7 +94759,7 @@ "os": "iosxe" }, "uid": "show_platform_software_memory_process_switch_active_slot_alloc_type_alloc_type", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L1114" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L1115" } } }, @@ -94090,7 +94775,7 @@ "os": "iosxe" }, "uid": "show_platform_software_memory_process_switch_active_slot_alloc_type_alloc_type_brief", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L1195" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L1196" } } }, @@ -94106,7 +94791,7 @@ "os": "iosxe" }, "uid": "show_platform_software_memory_process_switch_active_slot_brief", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L796" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L797" } } }, @@ -94122,7 +94807,7 @@ "os": "iosxe" }, "uid": "show_platform_software_memory_process_hw_active_alloc_callsite_brief", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L293" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L294" } } }, @@ -94138,7 +94823,7 @@ "os": "iosxe" }, "uid": "show_platform_software_memory_process_hw_active_slot_alloc_callsite_brief", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L293" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L294" } } }, @@ -94170,7 +94855,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#L4096" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L4097" } } }, @@ -94186,7 +94871,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#L8017" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8018" } } }, @@ -94202,7 +94887,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#L8017" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8018" } } }, @@ -94218,7 +94903,7 @@ "os": "iosxe" }, "uid": "show_platform_software_mpls_fp_active_eos", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L11584" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L11585" } } }, @@ -94234,7 +94919,7 @@ "os": "iosxe" }, "uid": "show_platform_software_multicast_stats", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L11135" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L11136" } } }, @@ -94250,7 +94935,7 @@ "os": "iosxe" }, "uid": "show_platform_software_nat_fp_active_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L11706" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L11707" } } }, @@ -94266,7 +94951,23 @@ "os": "iosxe" }, "uid": "show_platform_software_nat_fp_active_mapping_dynamic", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L12219" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L12220" + } + } + }, + "show platform software nat fp active mapping static": { + "folders": { + "iosxe": { + "class": "ShowPlatformSoftwareNatFpActiveMappingStatic", + "doc": "Parser for:\n show platform software nat fp active mapping static\n ", + "module_name": "iosxe.show_platform_software", + "package": "genie.libs.parser", + "schema": "{\n 'mappings': {\n Any('*'): {\n 'vrf_name': str,\n 'vrf_id': int,\n 'table_id': int,\n 'domain': str,\n 'lookup': str,\n 'proto': str,\n 'flags': str,\n 'local_addr': str,\n 'local_port': int,\n 'global_addr': str,\n 'global_port': int,\n 'network_mask': str,\n 'pool_id': int,\n 'ig_interface_address': str,\n 'route_map_name': str,\n 'last_stats_update': str,\n 'last_refcount_value': int,\n },\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_platform_software_nat_fp_active_mapping_static", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L12651" } } }, @@ -94282,7 +94983,7 @@ "os": "iosxe" }, "uid": "show_platform_software_nat_fp_active_pool", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L12096" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L12097" } } }, @@ -94298,7 +94999,7 @@ "os": "iosxe" }, "uid": "show_platform_software_nat_fp_active_qfp-stats", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L10803" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L10804" } } }, @@ -94314,7 +95015,7 @@ "os": "iosxe" }, "uid": "show_platform_software_nat_ipalias", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L12480" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L12481" } } }, @@ -94330,7 +95031,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#L4790" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L4791" } } }, @@ -94346,7 +95047,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#L3570" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3571" } } }, @@ -94362,7 +95063,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#L8330" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8331" } } }, @@ -94378,7 +95079,7 @@ "os": "iosxe" }, "uid": "show_platform_software_object-manager_F0_pending-ack-update", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L1662" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L1663" } } }, @@ -94394,7 +95095,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#L8111" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8112" } } }, @@ -94410,7 +95111,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#L2789" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2790" } } }, @@ -94426,7 +95127,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#L8721" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8722" } } }, @@ -94442,7 +95143,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#L2789" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2790" } } }, @@ -94458,7 +95159,7 @@ "os": "iosxe" }, "uid": "show_platform_software_object-manager_switch_switchstate_serviceprocessor_statistics", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2789" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L2790" } } }, @@ -94516,7 +95217,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#L6121" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L6122" } } }, @@ -94562,7 +95263,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#L8330" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8331" } } }, @@ -94578,7 +95279,7 @@ "os": "iosxe" }, "uid": "show_platform_software_object-manager_switch_switch_type_F0_pending-ack-update", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L1662" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L1663" } } }, @@ -94594,7 +95295,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#L8111" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8112" } } }, @@ -94610,7 +95311,7 @@ "os": "iosxe" }, "uid": "show_platform_software_process_list_F0_name_process", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L10365" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L10366" } } }, @@ -94626,7 +95327,7 @@ "os": "iosxe" }, "uid": "show_platform_software_process_list_FP_active_name_process", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L10518" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L10519" } } }, @@ -94642,7 +95343,7 @@ "os": "iosxe" }, "uid": "show_platform_software_process_list_fp_active", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L10277" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L10278" } } }, @@ -94716,7 +95417,7 @@ "os": "iosxe" }, "uid": "show_platform_software_process_slot_switch_active_R0_monitor___inc_Mem_:_Swap:", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L93" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L94" } } }, @@ -94732,7 +95433,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#L3631" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3632" } } }, @@ -94748,7 +95449,7 @@ "os": "iosxe" }, "uid": "show_platform_software_route-map_R0_map", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L10183" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L10184" } } }, @@ -94856,7 +95557,7 @@ "os": "iosxe" }, "uid": "show_platform_software_status_control-processor_brief", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L183" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L184" } } }, @@ -94872,7 +95573,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#L3121" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3122" } } }, @@ -94888,7 +95589,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#L3396" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3397" } } }, @@ -94904,7 +95605,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#L3327" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3328" } } }, @@ -94920,7 +95621,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#L3212" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3213" } } }, @@ -94936,7 +95637,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#L3269" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3270" } } }, @@ -94952,7 +95653,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#L3121" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3122" } } }, @@ -94968,7 +95669,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#L6056" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L6057" } } }, @@ -94984,7 +95685,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#L3396" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3397" } } }, @@ -95000,7 +95701,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#L3327" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3328" } } }, @@ -95016,7 +95717,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#L3212" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3213" } } }, @@ -95032,7 +95733,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#L3269" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3270" } } }, @@ -95048,7 +95749,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#L4476" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L4477" } } }, @@ -95064,7 +95765,7 @@ "os": "iosxe" }, "uid": "show_platform_software_trace_level_ios_rp_active___in_pki", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L12526" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L12527" } } }, @@ -95080,7 +95781,7 @@ "os": "iosxe" }, "uid": "show_platform_software_wccp_web-cache_counters", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L10697" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L10706" } } }, @@ -95096,7 +95797,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#L4002" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L4003" } } }, @@ -95112,7 +95813,7 @@ "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#L3938" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L3939" } } }, @@ -95128,7 +95829,7 @@ "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#L9942" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L9943" } } }, @@ -95144,7 +95845,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#L5769" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L5770" } } }, @@ -95160,7 +95861,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#L8418" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8419" } } }, @@ -95176,7 +95877,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#L8418" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L8419" } } }, @@ -95192,7 +95893,7 @@ "os": "iosxe" }, "uid": "show_platform_software_yang-management_process", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L443" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L444" } } }, @@ -95208,7 +95909,7 @@ "os": "iosxe" }, "uid": "show_platform_software_yang-management_process_monitor", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L497" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L498" } } }, @@ -95224,7 +95925,7 @@ "os": "iosxe" }, "uid": "show_platform_software_yang-management_process_state", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L563" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform_software.py#L564" } } }, @@ -95242,7 +95943,7 @@ "platform": "ie3k" }, "uid": "show_platform_status", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/ie3k/show_platform.py#L760" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/ie3k/show_platform.py#L764" } }, "tokens": { @@ -95263,7 +95964,7 @@ "os": "iosxe" }, "uid": "show_platform_sudi_certificate", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5997" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5998" } } }, @@ -95302,7 +96003,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#L5997" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5998" } } }, @@ -95318,7 +96019,7 @@ "os": "iosxe" }, "uid": "show_platform_sudi_pki", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6238" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6239" } } }, @@ -95355,7 +96056,7 @@ "os": "iosxe" }, "uid": "show_platform_uplink", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L10084" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L10093" } } }, @@ -95371,7 +96072,7 @@ "os": "iosxe" }, "uid": "show_platform_usb_status", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8483" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8492" } } }, @@ -95387,7 +96088,7 @@ "os": "iosxr" }, "uid": "show_platform_vm", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L525" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L535" } } }, @@ -95403,7 +96104,7 @@ "os": "iosxe" }, "uid": "show_pm_port_interface_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4800" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L5054" } } }, @@ -95419,7 +96120,7 @@ "os": "iosxe" }, "uid": "show_pm_vp_interface_interface_vlan", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4589" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_interface.py#L4838" } } }, @@ -95435,7 +96136,7 @@ "os": "iosxe" }, "uid": "show_policy-firewall_config", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map_type_inspect_zone_pair.py#L899" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map_type_inspect_zone_pair.py#L922" } } }, @@ -95451,7 +96152,7 @@ "os": "iosxe" }, "uid": "show_policy-firewall_config_zone-pair_in-out", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map_type_inspect_zone_pair.py#L704" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map_type_inspect_zone_pair.py#L727" } } }, @@ -95758,12 +96459,12 @@ "doc": "Parser for show policy-map type inspect zone-pair {zone_pair_name} sessions\n show policy-map type inspect zone-pair sessions", "module_name": "iosxe.show_policy_map_type_inspect_zone_pair", "package": "genie.libs.parser", - "schema": "{\n 'zone_pair': {\n Any('*'): {\n 'service_policy_inspect': {\n Any('*'): {\n 'class_map': {\n Any('*'): {\n 'class_map_type': str,\n 'class_map_match': ListOf (type) ,\n 'class_map_action': str,\n Optional('established_sessions'): {\n Any('*'): {\n 'initiator_ip': str,\n 'initiator_port': str,\n 'responder_ip': str,\n 'responder_port': str,\n 'protocol': str,\n 'state': str,\n 'created': str,\n 'last_heard': str,\n 'bytes_sent': {\n 'initiator': str,\n 'responder': int,\n },\n },\n },\n Optional('half_open_sessions'): {\n Any('*'): {\n 'initiator_ip': str,\n 'initiator_port': str,\n 'responder_ip': str,\n 'responder_port': str,\n 'protocol': str,\n 'state': str,\n 'created': str,\n 'last_heard': str,\n 'bytes_sent': {\n 'initiator': str,\n 'responder': int,\n },\n },\n },\n Optional('packets'): int,\n Optional('bytes'): int,\n },\n },\n },\n },\n },\n },\n}", + "schema": "{\n 'zone_pair': {\n Any('*'): {\n 'service_policy_inspect': {\n Any('*'): {\n 'class_map': {\n Any('*'): {\n 'class_map_type': str,\n 'class_map_match': ListOf (type) ,\n 'class_map_action': str,\n Optional('established_sessions'): {\n Any('*'): {\n 'initiator_ip': str,\n 'initiator_port': str,\n 'responder_ip': str,\n 'responder_port': str,\n 'protocol': str,\n 'state': str,\n 'created': str,\n 'last_heard': str,\n 'bytes_sent': {\n 'initiator': str,\n 'responder': int,\n },\n },\n },\n Optional('half_open_sessions'): {\n Any('*'): {\n 'initiator_ip': str,\n 'initiator_port': str,\n 'responder_ip': str,\n 'responder_port': str,\n 'protocol': str,\n 'state': str,\n 'created': str,\n 'last_heard': str,\n 'bytes_sent': {\n 'initiator': str,\n 'responder': int,\n },\n },\n },\n Optional('terminating_sessions'): {\n Any('*'): {\n 'initiator_ip': str,\n 'initiator_port': str,\n 'responder_ip': str,\n 'responder_port': str,\n 'protocol': str,\n 'state': str,\n 'created': str,\n 'last_heard': str,\n 'bytes_sent': {\n 'initiator': str,\n 'responder': int,\n },\n },\n },\n Optional('packets'): int,\n Optional('bytes'): int,\n },\n },\n },\n },\n },\n },\n}", "tokens": { "os": "iosxe" }, "uid": "show_policy-map_type_inspect_zone-pair_sessions", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map_type_inspect_zone_pair.py#L328" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map_type_inspect_zone_pair.py#L344" } } }, @@ -95807,7 +96508,7 @@ "os": "iosxe" }, "uid": "show_policy-map_type_inspect_zone-pair_zone_pair_name_session", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map_type_inspect_zone_pair.py#L534" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map_type_inspect_zone_pair.py#L557" } } }, @@ -95818,12 +96519,12 @@ "doc": "Parser for show policy-map type inspect zone-pair {zone_pair_name} sessions\n show policy-map type inspect zone-pair sessions", "module_name": "iosxe.show_policy_map_type_inspect_zone_pair", "package": "genie.libs.parser", - "schema": "{\n 'zone_pair': {\n Any('*'): {\n 'service_policy_inspect': {\n Any('*'): {\n 'class_map': {\n Any('*'): {\n 'class_map_type': str,\n 'class_map_match': ListOf (type) ,\n 'class_map_action': str,\n Optional('established_sessions'): {\n Any('*'): {\n 'initiator_ip': str,\n 'initiator_port': str,\n 'responder_ip': str,\n 'responder_port': str,\n 'protocol': str,\n 'state': str,\n 'created': str,\n 'last_heard': str,\n 'bytes_sent': {\n 'initiator': str,\n 'responder': int,\n },\n },\n },\n Optional('half_open_sessions'): {\n Any('*'): {\n 'initiator_ip': str,\n 'initiator_port': str,\n 'responder_ip': str,\n 'responder_port': str,\n 'protocol': str,\n 'state': str,\n 'created': str,\n 'last_heard': str,\n 'bytes_sent': {\n 'initiator': str,\n 'responder': int,\n },\n },\n },\n Optional('packets'): int,\n Optional('bytes'): int,\n },\n },\n },\n },\n },\n },\n}", + "schema": "{\n 'zone_pair': {\n Any('*'): {\n 'service_policy_inspect': {\n Any('*'): {\n 'class_map': {\n Any('*'): {\n 'class_map_type': str,\n 'class_map_match': ListOf (type) ,\n 'class_map_action': str,\n Optional('established_sessions'): {\n Any('*'): {\n 'initiator_ip': str,\n 'initiator_port': str,\n 'responder_ip': str,\n 'responder_port': str,\n 'protocol': str,\n 'state': str,\n 'created': str,\n 'last_heard': str,\n 'bytes_sent': {\n 'initiator': str,\n 'responder': int,\n },\n },\n },\n Optional('half_open_sessions'): {\n Any('*'): {\n 'initiator_ip': str,\n 'initiator_port': str,\n 'responder_ip': str,\n 'responder_port': str,\n 'protocol': str,\n 'state': str,\n 'created': str,\n 'last_heard': str,\n 'bytes_sent': {\n 'initiator': str,\n 'responder': int,\n },\n },\n },\n Optional('terminating_sessions'): {\n Any('*'): {\n 'initiator_ip': str,\n 'initiator_port': str,\n 'responder_ip': str,\n 'responder_port': str,\n 'protocol': str,\n 'state': str,\n 'created': str,\n 'last_heard': str,\n 'bytes_sent': {\n 'initiator': str,\n 'responder': int,\n },\n },\n },\n Optional('packets'): int,\n Optional('bytes'): int,\n },\n },\n },\n },\n },\n },\n}", "tokens": { "os": "iosxe" }, "uid": "show_policy-map_type_inspect_zone-pair_zone_pair_name_sessions", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map_type_inspect_zone_pair.py#L328" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_policy_map_type_inspect_zone_pair.py#L344" } } }, @@ -96147,6 +96848,36 @@ } } }, + "show power detail": { + "folders": { + "iosxe": { + "folders": { + "cat9k": { + "folders": { + "c9610": { + "class": "ShowPowerDetail", + "doc": "Parser for:\n * show power detail\n ", + "module_name": "iosxe.cat9k.c9610.show_power", + "package": "genie.libs.parser", + "schema": "{\n 'power_supplies': {\n '': {\n 'model': str,\n 'type': str,\n 'capacity': int,\n 'status': str,\n 'fan_states': {\n '1': str,\n '2': str,\n },\n },\n },\n 'current_configuration_mode': str,\n 'current_operating_state': str,\n 'redundant_power': int,\n 'power_supplies_active': int,\n 'power_supplies_available': int,\n 'power_summary': {\n 'used': int,\n 'available': int,\n },\n 'power_budget_mode': str,\n 'modules': {\n '': {\n 'model': str,\n 'state': str,\n 'budget': int,\n 'instantaneous': int,\n 'peak': int,\n 'out_of_reset': int,\n 'in_reset': int,\n },\n },\n 'total_allocated_power': int,\n 'total_required_power': int,\n}", + "tokens": { + "model": "c9610" + }, + "uid": "show_power_detail", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/cat9k/c9610/show_power.py#L59" + } + }, + "tokens": { + "platform": "cat9k" + } + } + }, + "tokens": { + "os": "iosxe" + } + } + } + }, "show power inline": { "folders": { "ios": { @@ -96639,7 +97370,7 @@ "os": "iosxe" }, "uid": "show_processes_cpu", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4683" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4684" }, "iosxr": { "class": "ShowProcessesCpu", @@ -96691,7 +97422,7 @@ "os": "iosxe" }, "uid": "show_processes_cpu_history", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5029" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5030" } } }, @@ -96719,7 +97450,7 @@ "os": "iosxe" }, "uid": "show_processes_cpu_platform", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4465" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4466" } } }, @@ -96749,7 +97480,7 @@ "os": "iosxe" }, "uid": "show_processes_cpu_platform_sorted", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7547" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7556" } } }, @@ -96800,7 +97531,7 @@ "os": "iosxe" }, "uid": "show_processes_cpu_sorted", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4329" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4330" } } }, @@ -96828,7 +97559,7 @@ "os": "iosxe" }, "uid": "show_processes_cpu_sorted_sort_time", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4329" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4330" } } }, @@ -96856,7 +97587,7 @@ "os": "iosxe" }, "uid": "show_processes_cpu_sorted_sort_time___exclude_exclude", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4329" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4330" } } }, @@ -96884,7 +97615,7 @@ "os": "iosxe" }, "uid": "show_processes_cpu_sorted_sort_time___include_key_word", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4329" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4330" } } }, @@ -96912,7 +97643,7 @@ "os": "iosxe" }, "uid": "show_processes_cpu_sorted___exclude_exclude", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4329" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4330" } } }, @@ -96940,7 +97671,7 @@ "os": "iosxe" }, "uid": "show_processes_cpu_sorted___include_key_word", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4329" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4330" } } }, @@ -97000,7 +97731,7 @@ "os": "iosxe" }, "uid": "show_processes_memory", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5169" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5170" }, "iosxr": { "class": "ShowProcessesMemory", @@ -97012,7 +97743,7 @@ "os": "iosxr" }, "uid": "show_processes_memory", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L3243" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L3253" }, "nxos": { "class": "ShowProcessesMemory", @@ -97040,7 +97771,7 @@ "os": "iosxr" }, "uid": "show_processes_memory_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L3321" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L3331" } } }, @@ -97056,7 +97787,7 @@ "os": "iosxr" }, "uid": "show_processes_memory_detail___include_include", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L3321" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L3331" } } }, @@ -97088,7 +97819,7 @@ "os": "iosxe" }, "uid": "show_processes_memory_sorted", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5288" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5289" } } }, @@ -97116,7 +97847,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#L5169" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5170" } } }, @@ -97144,7 +97875,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#L5169" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5170" }, "iosxr": { "class": "ShowProcessesMemory", @@ -97156,7 +97887,7 @@ "os": "iosxr" }, "uid": "show_processes_memory___include_include", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L3243" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L3253" }, "nxos": { "class": "ShowProcessesMemory", @@ -97196,7 +97927,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#L5169" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L5170" } } }, @@ -97244,7 +97975,7 @@ "os": "iosxe" }, "uid": "show_processes_processid", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8611" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8620" } } }, @@ -97998,7 +98729,7 @@ "os": "iosxe" }, "uid": "show_redundancy", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L1632" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L1633" }, "iosxr": { "class": "ShowRedundancy", @@ -98010,7 +98741,7 @@ "os": "iosxr" }, "uid": "show_redundancy", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L2854" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L2864" } } }, @@ -98082,7 +98813,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#L7624" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7633" } } }, @@ -98130,7 +98861,7 @@ "os": "iosxe" }, "uid": "show_redundancy_states", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L1843" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L1844" } } }, @@ -98162,7 +98893,7 @@ "os": "iosxr" }, "uid": "show_redundancy_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L2719" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_platform.py#L2729" } } }, @@ -98194,7 +98925,7 @@ "os": "iosxe" }, "uid": "show_rep_topology_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9615" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9624" } } }, @@ -98210,7 +98941,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#L7009" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7010" } } }, @@ -98242,7 +98973,7 @@ "os": "iosxe" }, "uid": "show_rib_client", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L3439" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_routing.py#L3440" } } }, @@ -98562,7 +99293,23 @@ "os": "iosxe" }, "uid": "show_rom-mon_switch_switch_num_process", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_romvar.py#L667" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_romvar.py#L668" + } + } + }, + "show rom-monitor {slot}": { + "folders": { + "iosxe": { + "class": "ShowRomMonitor", + "doc": "Parser for show rom-monitor .", + "module_name": "iosxe.show_romvar", + "package": "genie.libs.parser", + "schema": "{\n 'system_bootstrap': {\n 'version': str,\n 'release_type': str,\n 'copyright': str,\n 'vendor': str,\n 'year_range': str,\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_rom-monitor_slot", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_romvar.py#L742" } } }, @@ -98578,7 +99325,7 @@ "os": "iosxe" }, "uid": "show_romvar", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_romvar.py#L81" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_romvar.py#L82" } } }, @@ -98594,7 +99341,7 @@ "os": "iosxe" }, "uid": "show_romvar_switch_switch_number", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_romvar.py#L81" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_romvar.py#L82" } } }, @@ -99866,7 +100613,7 @@ "os": "iosxe" }, "uid": "show_run_policy-map_name", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L69" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L70" } } }, @@ -99930,7 +100677,7 @@ "os": "iosxe" }, "uid": "show_running-config_aaa", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L3168" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L3169" } } }, @@ -99946,7 +100693,7 @@ "os": "iosxe" }, "uid": "show_running-config_aaa_radius-server", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L4920" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L4921" } } }, @@ -99962,7 +100709,7 @@ "os": "iosxe" }, "uid": "show_running-config_aaa_user-name", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L2767" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L2768" } } }, @@ -99978,7 +100725,7 @@ "os": "iosxe" }, "uid": "show_running-config_aaa_username", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L2886" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L2887" } } }, @@ -99994,7 +100741,7 @@ "os": "iosxe" }, "uid": "show_running-config_all___sec_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L2257" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L2258" } } }, @@ -100010,7 +100757,7 @@ "os": "iosxe" }, "uid": "show_running-config_all___section_^interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L1801" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L1802" } } }, @@ -100026,7 +100773,7 @@ "os": "iosxe" }, "uid": "show_running-config_all___section_class_class_map", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L4857" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L4858" } } }, @@ -100074,7 +100821,7 @@ "os": "iosxe" }, "uid": "show_running-config_flow_monitor", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L3058" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L3059" } } }, @@ -100138,7 +100885,7 @@ "os": "iosxe" }, "uid": "show_running-config_interface_interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L482" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L483" }, "nxos": { "class": "ShowRunningConfigInterface", @@ -100166,7 +100913,7 @@ "os": "iosxe" }, "uid": "show_running-config_mdns-sd", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L1906" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L1907" } } }, @@ -100230,7 +100977,23 @@ "os": "iosxe" }, "uid": "show_running-config_nve", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L3501" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L3502" + } + } + }, + "show running-config vrf": { + "folders": { + "iosxe": { + "class": "ShowRunningConfigVrf", + "doc": "Parser for show running-config vrf", + "module_name": "iosxe.show_run", + "package": "genie.libs.parser", + "schema": "{\n Optional('vrf'): {\n Any('*'): {\n 'type': str,\n Optional('rd'): str,\n Optional('route_target'): {\n Optional('export'): list,\n Optional('import'): list,\n },\n Optional('address_family'): {\n Optional('ipv4'): dict,\n Optional('ipv6'): dict,\n },\n Optional('interfaces'): {\n Any('*'): {\n 'ip_vrf_forwarding': str,\n Optional('ip_address'): str,\n Optional('ip_mask'): str,\n Optional('ip_nbar_protocol_discovery'): bool,\n Optional('ip_nat_inside'): bool,\n Optional('ip_nat_outside'): bool,\n Optional('negotiation_auto'): bool,\n },\n },\n Optional('nat_rules'): {\n Any('*'): {\n 'type': str,\n 'local_ip': str,\n 'global_ip': str,\n 'vrf': str,\n Optional('match_in_vrf'): bool,\n },\n },\n Optional('routes'): {\n Any('*'): {\n 'network': str,\n 'mask': str,\n Optional('interface'): str,\n Optional('next_hop'): str,\n },\n },\n },\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_running-config_vrf", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L5069" } } }, @@ -100422,7 +101185,7 @@ "os": "iosxe" }, "uid": "show_running-config___section_^interface", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L482" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L483" }, "nxos": { "class": "ShowRunningConfigInterface", @@ -100450,7 +101213,7 @@ "os": "iosxe" }, "uid": "show_running-config___section_bgp", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L4463" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L4464" } } }, @@ -100482,7 +101245,7 @@ "os": "iosxe" }, "uid": "show_running-config___section_mac_address", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L4805" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L4806" } } }, @@ -100514,7 +101277,7 @@ "os": "iosxe" }, "uid": "show_running-config___section_route", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L4378" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L4379" } } }, @@ -100530,7 +101293,7 @@ "os": "iosxe" }, "uid": "show_running-config___section_vrf_definition", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L4715" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_run.py#L4716" } } }, @@ -104024,6 +104787,22 @@ } } }, + "show subscriber session all summary": { + "folders": { + "iosxr": { + "class": "ShowSubscriberSessionAllSummary", + "doc": "Parser for `show subscriber session all summary`", + "module_name": "iosxr.show_subscriber", + "package": "genie.libs.parser", + "schema": "{\n 'subscriber': {\n 'session_summary': {\n 'state': {\n 'Or ('pppoe', 'ip_subscriber_dhcp', 'ip_subscriber_packet')': {\n Optional('initializing'): int,\n Optional('connecting'): int,\n Optional('connected'): int,\n Optional('activated'): int,\n Optional('idle'): int,\n Optional('disconnecting'): int,\n Optional('end'): int,\n Optional('total'): int,\n },\n },\n 'address_family': {\n 'Or ('pppoe', 'ip_subscriber_dhcp', 'ip_subscriber_packet')': {\n Optional('in_progress'): int,\n Optional('ipv4_only'): int,\n Optional('ipv6_only'): int,\n Optional('dual_partial_up'): int,\n Optional('dual_up'): int,\n Optional('lac'): int,\n Optional('total'): int,\n },\n },\n },\n },\n}", + "tokens": { + "os": "iosxr" + }, + "uid": "show_subscriber_session_all_summary", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxr/show_subscriber.py#L63" + } + } + }, "show subscriber statistics": { "folders": { "iosxe": { @@ -104112,7 +104891,7 @@ "os": "iosxe" }, "uid": "show_switch", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L3363" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L3364" } } }, @@ -104140,7 +104919,7 @@ "os": "iosxe" }, "uid": "show_switch_detail", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L3225" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L3226" } } }, @@ -104204,7 +104983,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#L8923" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8932" } } }, @@ -104281,7 +105060,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#L8435" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8444" } } }, @@ -104540,7 +105319,7 @@ "os": "iosxe" }, "uid": "show_system_integrity_all_trust_chain_nonce_nonce", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_system.py#L486" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_system.py#L544" } } }, @@ -104620,7 +105399,7 @@ "os": "iosxe" }, "uid": "show_system_mtu", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7516" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L7525" } } }, @@ -105792,7 +106571,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#L9328" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9337" } } }, @@ -105980,7 +106759,7 @@ "os": "iosxe" }, "uid": "show_uac_active-port", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_uac.py#L433" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_uac.py#L500" } } }, @@ -105996,7 +106775,7 @@ "os": "iosxe" }, "uid": "show_uac_active-vlan", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_uac.py#L524" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_uac.py#L591" } } }, @@ -106023,12 +106802,12 @@ "doc": "Parser for show uac uplink db", "module_name": "iosxe.show_uac", "package": "genie.libs.parser", - "schema": "{\n 'autoconfig_status': str,\n Optional('ipv4_uplink'): {\n 'interface': str,\n 'ping_pass_count': int,\n 'gw_arp_pass_count': int,\n },\n Optional('ipv6_uplink'): {\n 'interface': str,\n 'ping_pass_count': int,\n 'gw_arp_pass_count': int,\n },\n Optional('interfaces'): {\n Optional('ipv4'): {\n Any('*'): {\n 'score': int,\n 'state': int,\n 'ip_address': str,\n 'subnet_mask': str,\n 'arp_fail': int,\n 'ping_fail': int,\n 'gw_probe': str,\n 'ping': str,\n 'rescore': int,\n },\n },\n Optional('ipv6'): {\n Any('*'): {\n 'score': int,\n 'state': int,\n 'ipv6_address': str,\n 'prefix': str,\n 'arp_fail': int,\n 'ping_fail': int,\n 'gw_probe': str,\n 'ping': str,\n 'rescore': int,\n },\n },\n },\n}", + "schema": "{\n 'autoconfig_status': str,\n Optional('uplink_allow_list_enforce'): {\n 'ipv4': bool,\n 'ipv6': bool,\n },\n Optional('ipv4_uplink'): {\n 'interface': str,\n 'ping_pass_count': int,\n 'gw_arp_pass_count': int,\n },\n Optional('ipv4_preferred_uplink'): {\n 'interface': str,\n 'ping_pass_count': int,\n 'gw_arp_pass_count': int,\n },\n Optional('ipv6_uplink'): {\n 'interface': str,\n 'ping_pass_count': int,\n 'gw_arp_pass_count': int,\n },\n Optional('ipv6_preferred_uplink'): {\n 'interface': str,\n 'ping_pass_count': int,\n 'gw_arp_pass_count': int,\n },\n Optional('interfaces'): {\n Optional('ipv4'): {\n Any('*'): {\n 'score': int,\n 'state': int,\n 'ip_address': str,\n 'subnet_mask': str,\n 'arp_fail': int,\n 'ping_fail': int,\n 'gw_probe': str,\n 'ping': str,\n 'rescore': int,\n Optional('allowed'): int,\n },\n },\n Optional('ipv6'): {\n Any('*'): {\n 'score': int,\n 'state': int,\n 'ipv6_address': str,\n 'prefix': str,\n 'arp_fail': int,\n 'ping_fail': int,\n 'gw_probe': str,\n 'ping': str,\n 'rescore': int,\n Optional('allowed'): int,\n },\n },\n },\n}", "tokens": { "os": "iosxe" }, "uid": "show_uac_uplink_db", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_uac.py#L262" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_uac.py#L278" } } }, @@ -106484,7 +107263,7 @@ "os": "iosxe" }, "uid": "show_version", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L352" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L353" }, "iosxr": { "class": "ShowVersion", @@ -106601,7 +107380,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#L4735" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L4736" } } }, @@ -106681,7 +107460,7 @@ "os": "iosxe" }, "uid": "show_version_running", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6685" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L6686" } } }, @@ -107289,6 +108068,22 @@ } } }, + "show vlans {vlan_id}": { + "folders": { + "iosxe": { + "class": "ShowVlans", + "doc": "Parser for: show vlans ", + "module_name": "iosxe.show_vlan", + "package": "genie.libs.parser", + "schema": "{\n 'vlans': {\n Any('*'): {\n 'vlan_id': str,\n 'encapsulation': str,\n 'protocols': {\n Any('*'): {\n 'received': int,\n 'transmitted': int,\n },\n },\n Optional('trunk_interfaces'): list,\n Optional('subinterfaces'): {\n Any('*'): {\n 'vlan_id': int,\n Optional('ip_address'): str,\n Optional('total_packets_input'): int,\n Optional('total_bytes_input'): int,\n Optional('total_packets_output'): int,\n Optional('total_bytes_output'): int,\n },\n },\n Optional('isl_subinterfaces'): str,\n },\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_vlans_vlan_id", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_vlan.py#L1314" + } + } + }, "show vmi neighbors detail": { "folders": { "iosxe": { @@ -107317,7 +108112,23 @@ "os": "iosxe" }, "uid": "show_voice_call_summary", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_voice.py#L19" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_voice.py#L20" + } + } + }, + "show voice dsp": { + "folders": { + "iosxe": { + "class": "ShowVoiceDsp", + "doc": "Parser for show voice dsp", + "module_name": "iosxe.show_voice", + "package": "genie.libs.parser", + "schema": "{\n 'flex_voice_cards': {\n Any('*'): {\n Optional('dsp_voice_channels'): ListOf (dict) {'dsp_type': , 'dsp_num': , 'ch': , 'codec': , 'dspware_version': , 'curr_state': , 'boot_state': , 'rst': , 'ai': , 'voiceport': , 'ts': , 'abort': , 'pack_count': },\n Optional('dsp_signaling_channels'): ListOf (dict) {'dsp_type': , 'dsp_num': , 'ch': , 'codec': , 'dspware_version': , 'curr_state': , 'boot_state': , 'rst': , 'ai': , 'voiceport': , 'ts': , 'abort': , 'pack_count': },\n },\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_voice_dsp", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_voice.py#L101" } } }, @@ -108578,6 +109389,22 @@ } } }, + "show x25 vc": { + "folders": { + "iosxe": { + "class": "ShowX25Vc", + "doc": " Parser for:\n * 'show x25 vc'\n ", + "module_name": "iosxe.show_x25", + "package": "genie.libs.parser", + "schema": "{\n 'svc': {\n Any('*'): {\n 'state': str,\n 'interface': str,\n 'started': str,\n 'last_input': str,\n 'last_output': str,\n 'connects': {\n 'local': str,\n 'remote_protocol': str,\n 'remote_address': str,\n },\n 'call_pid': str,\n 'data_pid': str,\n 'window_size': {\n 'input': int,\n 'output': int,\n },\n 'packet_size': {\n 'input': int,\n 'output': int,\n },\n 'ps': int,\n 'pr': int,\n 'ack': int,\n 'remote_pr': int,\n 'rcnt': int,\n 'rnr': str,\n 'pd_state_timeouts': int,\n 'timer_secs': int,\n 'statistics': {\n 'data_bytes': {\n 'input': int,\n 'output': int,\n },\n 'packets': {\n 'input': int,\n 'output': int,\n },\n 'resets': {\n 'input': int,\n 'output': int,\n },\n 'rnrs': {\n 'input': int,\n 'output': int,\n },\n 'rejs': {\n 'input': int,\n 'output': int,\n },\n 'ints': {\n 'input': int,\n 'output': int,\n },\n },\n },\n },\n}", + "tokens": { + "os": "iosxe" + }, + "uid": "show_x25_vc", + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_x25.py#L90" + } + } + }, "show xconnect all": { "folders": { "iosxe": { @@ -108606,7 +109433,7 @@ "os": "iosxe" }, "uid": "show_xdr_linecard", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L10818" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L10827" } } }, @@ -108622,7 +109449,7 @@ "os": "iosxe" }, "uid": "show_xfsu_eligibility", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8788" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L8797" } } }, @@ -108638,7 +109465,7 @@ "os": "iosxe" }, "uid": "show_xfsu_status", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9087" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9096" } } }, @@ -108654,7 +109481,7 @@ "os": "iosxe" }, "uid": "show_zone-pair_security", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L10908" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L10917" } } }, @@ -108890,7 +109717,7 @@ "os": "iosxe" }, "uid": "show_filesystem_filesys", - "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9178" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9187" } } }, @@ -109048,7 +109875,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#L9470" + "url": "https://github.com/CiscoTestAutomation/genieparser/tree/master/src/genie/libs/parser/iosxe/show_platform.py#L9479" } } }, diff --git a/src/genie/libs/parser/__init__.py b/src/genie/libs/parser/__init__.py index 7c277a1349..52d6cb1035 100644 --- a/src/genie/libs/parser/__init__.py +++ b/src/genie/libs/parser/__init__.py @@ -8,7 +8,7 @@ ''' # metadata -__version__ = "25.8" +__version__ = "25.9" __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/ios/tests/ShowStandbyAll/cli/equal/golden_output_expected.py b/src/genie/libs/parser/ios/tests/ShowStandbyAll/cli/equal/golden_output_expected.py index 067c72ba5c..0162b87e6a 100644 --- a/src/genie/libs/parser/ios/tests/ShowStandbyAll/cli/equal/golden_output_expected.py +++ b/src/genie/libs/parser/ios/tests/ShowStandbyAll/cli/equal/golden_output_expected.py @@ -103,6 +103,8 @@ "active_router_priority": 120, "configured_priority": 110, "group_number": 10, + "last_state_change": "00:00:08", + "statistics": {"num_state_changes": 1}, "hsrp_router_state": "standby", "local_virtual_mac_address": "0000.0cff.b311", "local_virtual_mac_address_conf": "v1 default", diff --git a/src/genie/libs/parser/iosxe/cat9k/c9610/show_hardware.py b/src/genie/libs/parser/iosxe/cat9k/c9610/show_hardware.py index 125d365ad8..56b5b10c84 100644 --- a/src/genie/libs/parser/iosxe/cat9k/c9610/show_hardware.py +++ b/src/genie/libs/parser/iosxe/cat9k/c9610/show_hardware.py @@ -1,6 +1,7 @@ ''' show_hardware.py IOSXE parsers for the following show commands: * show hardware led + * hw-module beacon fan-tray {fantray_num} status ''' # Python @@ -223,3 +224,36 @@ def cli(self, output=None): continue return ret_dict + +class HardwareModuleBeaconFantrayStatusSchema(MetaParser): + """ + Schema for hw-module beacon fan-tray {fantray_num} status + """ + schema = { + 'fantray_status': str + } + +class HardwareModuleBeaconFantrayStatus(HardwareModuleBeaconFantrayStatusSchema): + """Parser for hw-module beacon fan-tray {fantray_num} status""" + + cli_command = "hw-module beacon fan-tray {fantray_num} status" + + def cli(self, fantray_num=None, output=None): + if output is None: + output = self.device.execute(self.cli_command[0].format(fantray_num=fantray_num)) + + # OFF + # SOLID BLUE + p1 = re.compile(r'^(?P[\w\s]+)$') + + ret_dict = {} + for line in output.splitlines(): + line = line.strip() + + #OFF + m = p1.match(line) + if m: + ret_dict['fantray_status'] = m.groupdict()['fantray_status'] + continue + + return ret_dict diff --git a/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py b/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py index ec3a089438..91109ad4a1 100644 --- a/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py +++ b/src/genie/libs/parser/iosxe/cat9k/c9610/show_platform.py @@ -13,6 +13,7 @@ * show platform hardware authentication status * show platform software fed {switch} {mode} ipv6 route summary | include {match}' * show platform hardware fed {switch} {mode} qos queue stats internal port_type {port_type} port_num {port_num} asic {asic} + * show platform hardware chassis fantray detail all ''' from genie.metaparser import MetaParser from genie.libs.parser.utils.common import Common @@ -1788,3 +1789,151 @@ def cli(self, mode, port_num, asic, switch=None, output=None): continue return ret_dict + +class ShowPlatformHardwareChassisFantrayDetailAllSchema(MetaParser): + """Schema for: + show platform hardware chassis fantray detail all + """ + schema = { + 'fantrays': { + Any(): { + Optional('fans'): { + Any(): { + Optional('inlet_rpm'): int, + Optional('outlet_rpm'): int, + Optional('pwm_percent'): int, + } + }, + Optional('air_flow_direction'): str, + Optional('auto_poll_status'): str, + Optional('auto_poll_interval_seconds'): float, + Optional('control_mode'): str, + Optional('temperatures'): { + Optional('slot_5'): int, + Optional('slot_6'): int, + Optional('local_a'): int, + Optional('local_b'): int, + }, + Optional('input_voltage_v'): float, + Optional('input_current_a'): float, + Optional('input_power_w'): float, + Optional('beacon_led'): str, + Optional('status_led'): str, + } + } + } + + +class ShowPlatformHardwareChassisFantrayDetailAll(ShowPlatformHardwareChassisFantrayDetailAllSchema): + """Parser for: + show platform hardware chassis fantray detail all + """ + + cli_command = 'show platform hardware chassis fantray detail all' + + def cli(self, output=None): + if output is None: + out = self.device.execute(self.cli_command) + else: + out = output + + ret_dict = {} + + # FT1: + p1 = re.compile(r'^\s*(?PFT\d+):\s*$') + + # 1 4975 4972 33% + p2 = re.compile(r'^\s*(?P\d+)\s+(?P\d+)\s+(?P\d+)\s+(?P\d+)%\s*$') + + # Fantray Air Flow Direction : Port-Side-Intake + p3 = re.compile(r'^\s*Fantray\s+(?P[^:]+?)\s*:\s*(?P.+?)\s*$') + + current_tray = None + + def first_number(s): + m = re.search(r'(-?\d+(?:\.\d+)?)', s) + return float(m.group(1)) if m else None + + for line in out.splitlines(): + line = line.rstrip() + + # FT1: + m = p1.match(line) + if m: + + current_tray = m.group('tray') + td = ret_dict.setdefault('fantrays', {}).setdefault(current_tray, {}) + td.setdefault('fans', {}) + td.setdefault('temperatures', {}) + continue + + if not current_tray: + continue + + # Row Inlet Outlet PWM + m = p2.match(line) + if m: + row = int(m.group('row')) + inlet = int(m.group('inlet')) + outlet = int(m.group('outlet')) + pwm = int(m.group('pwm')) + ret_dict['fantrays'][current_tray]['fans'][row] = { + 'inlet_rpm': inlet, + 'outlet_rpm': outlet, + 'pwm_percent': pwm + } + continue + + # Fantray Air Flow Direction : Port-Side-Intake + m = p3.match(line) + if m: + key = m.group('key').strip() + val = m.group('val').strip() + td = ret_dict['fantrays'][current_tray] + + if key.lower() == 'air flow direction': + td['air_flow_direction'] = val + elif key.lower() == 'auto poll status': + td['auto_poll_status'] = val + elif key.lower() == 'auto poll interval': + num = first_number(val) + if num is not None: + td['auto_poll_interval_seconds'] = float(num) + elif key.lower() == 'control mode': + td['control_mode'] = val + elif key.lower() == 'temperature slot-5': + num = first_number(val) + if num is not None: + td['temperatures']['slot_5'] = int(num) + elif key.lower() == 'temperature slot-6': + num = first_number(val) + if num is not None: + td['temperatures']['slot_6'] = int(num) + elif key.lower() == 'temperature local-a': + num = first_number(val) + if num is not None: + td['temperatures']['local_a'] = int(num) + elif key.lower() == 'temperature local-b': + num = first_number(val) + if num is not None: + td['temperatures']['local_b'] = int(num) + elif key.lower() == 'input voltage': + num = first_number(val) + if num is not None: + td['input_voltage_v'] = float(num) + elif key.lower() == 'input current': + num = first_number(val) + if num is not None: + td['input_current_a'] = float(num) + elif key.lower() == 'input power': + num = first_number(val) + if num is not None: + td['input_power_w'] = float(num) + elif key.lower() == 'beacon led': + td['beacon_led'] = val + elif key.lower() == 'status led': + td['status_led'] = val + + continue + + return ret_dict diff --git a/src/genie/libs/parser/iosxe/cat9k/c9610/show_power.py b/src/genie/libs/parser/iosxe/cat9k/c9610/show_power.py new file mode 100644 index 0000000000..ff35e0e40f --- /dev/null +++ b/src/genie/libs/parser/iosxe/cat9k/c9610/show_power.py @@ -0,0 +1,232 @@ +""" show_power.py +IOSXE parsers for the following show command: + * 'show power detail' +""" + +import re +from genie.metaparser import MetaParser +from genie.metaparser.util.schemaengine import Any, Optional,Or +from genie.metaparser.util.exceptions import SchemaEmptyParserError + +# import parser utils +from genie.libs.parser.utils.common import Common + + +class ShowPowerDetailSchema(MetaParser): + """Schema for : + * show power detail + """ + + schema = { + "power_supplies": { + str: { + "model": str, + "type": str, + "capacity": int, + "status": str, + "fan_states": { + "1": str, + "2": str + } + } + }, + "current_configuration_mode": str, + "current_operating_state": str, + "redundant_power": int, + "power_supplies_active": int, + "power_supplies_available": int, + "power_summary": { + "used": int, + "available": int + }, + "power_budget_mode": str, + "modules": { + str: { + "model": str, + "state": str, + "budget": int, + "instantaneous": int, + "peak": int, + "out_of_reset": int, + "in_reset": int + } + }, + "total_allocated_power": int, + "total_required_power": int + } + + +class ShowPowerDetail(ShowPowerDetailSchema): + """Parser for: + * show power detail + """ + + cli_command = 'show power detail' + + def cli(self, output=None): + if output is None: + out = self.device.execute(self.cli_command) + else: + out = output + + ret = {} + + # PS1 C9600-PWR-3KWAC ac 3000 W active good good + p1 = re.compile( + r'^(?PPS\d+)\s+' + r'(?P\S+)\s+' + r'(?P\S+)\s+' + r'(?P\d+)\s*W\s+' + r'(?P\S+)\s+' + r'(?P\S+)\s+(?P\S+)\s*$' + ) + + # PS Current Configuration Mode : nplusn + p2 = re.compile(r'^PS\s+Current\s+Configuration\s+Mode\s*:\s*(?P\S+)\s*$') + + # PS Current Operating State : Fully-Protected + p3 = re.compile(r'^PS\s+Current\s+Operating\s+State\s*:\s*(?P\S[^\r\n]*)$') + + # Redundant Power : 11760 + p4 = re.compile(r'^Redundant\s+Power\s*:\s*(?P\d+)\s*$') + + # Power supplies currently active : 8 + p5 = re.compile(r'^Power\s+supplies\s+currently\s+active\s*:\s*(?P\d+)\s*$') + + # Power supplies currently available : 8 + p6 = re.compile(r'^Power\s+supplies\s+currently\s+available\s*:\s*(?P\d+)\s*$') + + # Total 10140 11820 (always prefer Total over System Power) + p7 = re.compile(r'^\s*Total\s+(?P\d+)\s+(?P\d+)\s*$') + + # Power Budget Mode : Dual Sup + p8 = re.compile(r'^Power\s+Budget\s+Mode\s*:\s*(?P\S[^\r\n]*)$') + + # 1 C9600X-LC-32CD accepted 450 77 141 450 10 + # FT1 C9610-FAN accepted 1000 67 76 1000 -- + p9 = re.compile( + r'^(?P\S+)\s+' + r'(?P\S(?:.*\S)?)\s{2,}' + r'(?P\S+)\s{2,}' + r'(?P\d+)\s{2,}' + r'(?P\d+)\s{2,}' + r'(?P\d+)\s{2,}' + r'(?P\d+)\s{2,}' + r'(?P(?:\d+|--))\s*$' + ) + + # Total allocated power: 10140 + p10 = re.compile(r'^Total\s+allocated\s+power:\s*(?P\d+)\s*$') + # Total required power: 10140 + p11 = re.compile(r'^Total\s+required\s+power:\s*(?P\d+)\s*$') + + # generic separators/headings to skip + p12 = re.compile(r'^-+$') + p13 = re.compile(r'^\s*Power\s+.*Fan\s+States', re.IGNORECASE) + p14 = re.compile(r'^\s*Supply\s+Model\s+No', re.IGNORECASE) + p15 = re.compile(r'^\s*Mod\s+Model\s+No', re.IGNORECASE) + p16 = re.compile(r'^\s*Total\s*$', re.IGNORECASE) # modules table footer 'Total' line (no numbers) + + for line in out.splitlines(): + line = line.rstrip() + if not line: + continue + + stripped = line.strip() + if p12.match(stripped) or p13.match(stripped) or p14.match(stripped) or p15.match(stripped) or p16.match(stripped): + continue + + # PS1 C9600-PWR-3KWAC ac 3000 W active good good + m = p1.match(line) + if m: + gd = m.groupdict() + ret.setdefault("power_supplies", {}) + ps_key = gd['ps'] + ret["power_supplies"][ps_key] = { + "model": gd["model"], + "type": gd["type"], + "capacity": int(gd["capacity"]), + "status": gd["status"], + "fan_states": { + "1": gd["fan1"], + "2": gd["fan2"], + } + } + continue + + # PS Current Configuration Mode : nplusn + m = p2.match(line) + if m: + ret["current_configuration_mode"] = m.group("mode") + continue + + # PS Current Operating State : Fully-Protected + m = p3.match(line) + if m: + ret["current_operating_state"] = m.group("state").strip() + continue + + # Redundant Power : 11760 + m = p4.match(line) + if m: + ret["redundant_power"] = int(m.group("val")) + continue + + # Power supplies currently active : 8 + m = p5.match(line) + if m: + ret["power_supplies_active"] = int(m.group("val")) + continue + + # Power supplies currently available : 8 + m = p6.match(line) + if m: + ret["power_supplies_available"] = int(m.group("val")) + continue + + # Power Summary: Total 10140 11820) + m = p7.match(line) + if m: + gd = m.groupdict() + ret.setdefault("power_summary", {}) + ret["power_summary"]["used"] = int(gd["used"]) + ret["power_summary"]["available"] = int(gd["available"]) + continue + + # Power Budget Mode : Dual Sup + m = p8.match(line) + if m: + ret["power_budget_mode"] = m.group("mode").strip() + continue + + # 1 C9600X-LC-32CD accepted 450 77 141 450 10 + m = p9.match(line) + if m: + gd = m.groupdict() + mod_key = gd["mod"] + in_reset_raw = gd["inreset"] + ret.setdefault("modules", {}) + ret["modules"][mod_key] = { + "model": gd["model"], + "state": gd["state"], + "budget": int(gd["budget"]), + "instantaneous": int(gd["inst"]), + "peak": int(gd["peak"]), + "out_of_reset": int(gd["oor"]), + "in_reset": 0 if in_reset_raw == '--' else int(in_reset_raw), + } + continue + + # Total allocated power: 10140 + m = p10.match(line) + if m: + ret["total_allocated_power"] = int(m.group("val")) + continue + + # Total required power: 10140 + m = p11.match(line) + if m: + ret["total_required_power"] = int(m.group("val")) + continue + + return ret \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/cat9k/c9610/tests/HardwareModuleBeaconFantrayStatus/cli/empty/empty_output_output.txt b/src/genie/libs/parser/iosxe/cat9k/c9610/tests/HardwareModuleBeaconFantrayStatus/cli/empty/empty_output_output.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/genie/libs/parser/iosxe/cat9k/c9610/tests/HardwareModuleBeaconFantrayStatus/cli/equal/golden_output_arguments.json b/src/genie/libs/parser/iosxe/cat9k/c9610/tests/HardwareModuleBeaconFantrayStatus/cli/equal/golden_output_arguments.json new file mode 100644 index 0000000000..6357184e42 --- /dev/null +++ b/src/genie/libs/parser/iosxe/cat9k/c9610/tests/HardwareModuleBeaconFantrayStatus/cli/equal/golden_output_arguments.json @@ -0,0 +1,3 @@ +{ + "fantray_num": "1" +} diff --git a/src/genie/libs/parser/iosxe/cat9k/c9610/tests/HardwareModuleBeaconFantrayStatus/cli/equal/golden_output_expected.py b/src/genie/libs/parser/iosxe/cat9k/c9610/tests/HardwareModuleBeaconFantrayStatus/cli/equal/golden_output_expected.py new file mode 100644 index 0000000000..7ad4b14325 --- /dev/null +++ b/src/genie/libs/parser/iosxe/cat9k/c9610/tests/HardwareModuleBeaconFantrayStatus/cli/equal/golden_output_expected.py @@ -0,0 +1,3 @@ +expected_output = { + "fantray_status": "OFF" +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/cat9k/c9610/tests/HardwareModuleBeaconFantrayStatus/cli/equal/golden_output_output.txt b/src/genie/libs/parser/iosxe/cat9k/c9610/tests/HardwareModuleBeaconFantrayStatus/cli/equal/golden_output_output.txt new file mode 100644 index 0000000000..5758c2db7f --- /dev/null +++ b/src/genie/libs/parser/iosxe/cat9k/c9610/tests/HardwareModuleBeaconFantrayStatus/cli/equal/golden_output_output.txt @@ -0,0 +1 @@ +OFF \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/cat9k/c9610/tests/ShowPlatformHardwareChassisFantrayDetailAll/cli/empty/empty_output_output.txt b/src/genie/libs/parser/iosxe/cat9k/c9610/tests/ShowPlatformHardwareChassisFantrayDetailAll/cli/empty/empty_output_output.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/genie/libs/parser/iosxe/cat9k/c9610/tests/ShowPlatformHardwareChassisFantrayDetailAll/cli/equal/golden_output1_expected.py b/src/genie/libs/parser/iosxe/cat9k/c9610/tests/ShowPlatformHardwareChassisFantrayDetailAll/cli/equal/golden_output1_expected.py new file mode 100644 index 0000000000..6a2fc467cb --- /dev/null +++ b/src/genie/libs/parser/iosxe/cat9k/c9610/tests/ShowPlatformHardwareChassisFantrayDetailAll/cli/equal/golden_output1_expected.py @@ -0,0 +1,104 @@ +expected_output = { + 'fantrays': { + 'FT1': { + 'fans': { + 1: {'inlet_rpm': 4975, 'outlet_rpm': 4972, 'pwm_percent': 33}, + 2: {'inlet_rpm': 5057, 'outlet_rpm': 5059, 'pwm_percent': 33}, + 3: {'inlet_rpm': 5021, 'outlet_rpm': 5010, 'pwm_percent': 33}, + 4: {'inlet_rpm': 5071, 'outlet_rpm': 5021, 'pwm_percent': 33}, + 5: {'inlet_rpm': 5065, 'outlet_rpm': 5039, 'pwm_percent': 33}, + 6: {'inlet_rpm': 5089, 'outlet_rpm': 5096, 'pwm_percent': 33} + }, + 'air_flow_direction': 'Port-Side-Intake', + 'auto_poll_status': 'true', + 'auto_poll_interval_seconds': 2.0, + 'control_mode': 'Manual', + 'temperatures': { + 'slot_5': 21, + 'slot_6': 24, + 'local_a': 31, + 'local_b': 30 + }, + 'input_voltage_v': 12.0673, + 'input_current_a': 4.9167, + 'input_power_w': 59.3311, + 'beacon_led': 'FAST BLINK BLUE', + 'status_led': 'GREEN' + }, + 'FT2': { + 'fans': { + 1: {'inlet_rpm': 5059, 'outlet_rpm': 5070, 'pwm_percent': 33}, + 2: {'inlet_rpm': 5126, 'outlet_rpm': 5056, 'pwm_percent': 33}, + 3: {'inlet_rpm': 5092, 'outlet_rpm': 5123, 'pwm_percent': 33}, + 4: {'inlet_rpm': 5124, 'outlet_rpm': 5109, 'pwm_percent': 33}, + 5: {'inlet_rpm': 5110, 'outlet_rpm': 5090, 'pwm_percent': 33}, + 6: {'inlet_rpm': 5067, 'outlet_rpm': 5126, 'pwm_percent': 33} + }, + 'air_flow_direction': 'Port-Side-Intake', + 'auto_poll_status': 'true', + 'auto_poll_interval_seconds': 2.0, + 'control_mode': 'Manual', + 'temperatures': { + 'slot_5': 20, + 'slot_6': 25, + 'local_a': 31, + 'local_b': 31 + }, + 'input_voltage_v': 12.0673, + 'input_current_a': 4.9167, + 'input_power_w': 59.3311, + 'beacon_led': 'OFF', + 'status_led': 'GREEN' + }, + 'FT3': { + 'fans': { + 1: {'inlet_rpm': 5079, 'outlet_rpm': 5104, 'pwm_percent': 33}, + 2: {'inlet_rpm': 5067, 'outlet_rpm': 5077, 'pwm_percent': 33}, + 3: {'inlet_rpm': 5064, 'outlet_rpm': 5077, 'pwm_percent': 33}, + 4: {'inlet_rpm': 5156, 'outlet_rpm': 5103, 'pwm_percent': 33}, + 5: {'inlet_rpm': 5094, 'outlet_rpm': 5056, 'pwm_percent': 33}, + 6: {'inlet_rpm': 5096, 'outlet_rpm': 5112, 'pwm_percent': 33} + }, + 'air_flow_direction': 'Port-Side-Intake', + 'auto_poll_status': 'true', + 'auto_poll_interval_seconds': 2.0, + 'control_mode': 'Manual', + 'temperatures': { + 'slot_5': 20, + 'slot_6': 26, + 'local_a': 32, + 'local_b': 32 + }, + 'input_voltage_v': 12.0137, + 'input_current_a': 4.9167, + 'input_power_w': 59.0672, + 'beacon_led': 'OFF', + 'status_led': 'GREEN' + }, + 'FT4': { + 'fans': { + 1: {'inlet_rpm': 5014, 'outlet_rpm': 5066, 'pwm_percent': 33}, + 2: {'inlet_rpm': 5078, 'outlet_rpm': 5049, 'pwm_percent': 33}, + 3: {'inlet_rpm': 5099, 'outlet_rpm': 5069, 'pwm_percent': 33}, + 4: {'inlet_rpm': 5097, 'outlet_rpm': 5058, 'pwm_percent': 33}, + 5: {'inlet_rpm': 5097, 'outlet_rpm': 5098, 'pwm_percent': 33}, + 6: {'inlet_rpm': 5073, 'outlet_rpm': 5133, 'pwm_percent': 33} + }, + 'air_flow_direction': 'Port-Side-Intake', + 'auto_poll_status': 'true', + 'auto_poll_interval_seconds': 2.0, + 'control_mode': 'Manual', + 'temperatures': { + 'slot_5': 20, + 'slot_6': 22, + 'local_a': 32, + 'local_b': 31 + }, + 'input_voltage_v': 11.9945, + 'input_current_a': 5.0, + 'input_power_w': 59.9725, + 'beacon_led': 'OFF', + 'status_led': 'GREEN' + } + } +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/cat9k/c9610/tests/ShowPlatformHardwareChassisFantrayDetailAll/cli/equal/golden_output1_output.txt b/src/genie/libs/parser/iosxe/cat9k/c9610/tests/ShowPlatformHardwareChassisFantrayDetailAll/cli/equal/golden_output1_output.txt new file mode 100644 index 0000000000..e951a75ad7 --- /dev/null +++ b/src/genie/libs/parser/iosxe/cat9k/c9610/tests/ShowPlatformHardwareChassisFantrayDetailAll/cli/equal/golden_output1_output.txt @@ -0,0 +1,99 @@ +FT1: + Row Inlet Outlet PWM + RPM RPM + --------------------------- + 1 4975 4972 33% + 2 5057 5059 33% + 3 5021 5010 33% + 4 5071 5021 33% + 5 5065 5039 33% + 6 5089 5096 33% + + Fantray Air Flow Direction : Port-Side-Intake + Fantray Auto Poll Status : true + Fantray Auto Poll Interval : 2.0 Seconds + Fantray Control Mode : Manual + Fantray Temperature Slot-5 : 21 C + Fantray Temperature Slot-6 : 24 C + Fantray Temperature Local-A : 31 C + Fantray Temperature Local-B : 30 C + Fantray Input Voltage : 12.0673 V + Fantray Input Current : 4.9167 A + Fantray Input Power : 59.3311 W + Fantray Beacon LED : FAST BLINK BLUE + Fantray Status LED : GREEN + +FT2: + Row Inlet Outlet PWM + RPM RPM + --------------------------- + 1 5059 5070 33% + 2 5126 5056 33% + 3 5092 5123 33% + 4 5124 5109 33% + 5 5110 5090 33% + 6 5067 5126 33% + + Fantray Air Flow Direction : Port-Side-Intake + Fantray Auto Poll Status : true + Fantray Auto Poll Interval : 2.0 Seconds + Fantray Control Mode : Manual + Fantray Temperature Slot-5 : 20 C + Fantray Temperature Slot-6 : 25 C + Fantray Temperature Local-A : 31 C + Fantray Temperature Local-B : 31 C + Fantray Input Voltage : 12.0673 V + Fantray Input Current : 4.9167 A + Fantray Input Power : 59.3311 W + Fantray Beacon LED : OFF + Fantray Status LED : GREEN + +FT3: + Row Inlet Outlet PWM + RPM RPM + --------------------------- + 1 5079 5104 33% + 2 5067 5077 33% + 3 5064 5077 33% + 4 5156 5103 33% + 5 5094 5056 33% + 6 5096 5112 33% + + Fantray Air Flow Direction : Port-Side-Intake + Fantray Auto Poll Status : true + Fantray Auto Poll Interval : 2.0 Seconds + Fantray Control Mode : Manual + Fantray Temperature Slot-5 : 20 C + Fantray Temperature Slot-6 : 26 C + Fantray Temperature Local-A : 32 C + Fantray Temperature Local-B : 32 C + Fantray Input Voltage : 12.0137 V + Fantray Input Current : 4.9167 A + Fantray Input Power : 59.0672 W + Fantray Beacon LED : OFF + Fantray Status LED : GREEN + +FT4: + Row Inlet Outlet PWM + RPM RPM + --------------------------- + 1 5014 5066 33% + 2 5078 5049 33% + 3 5099 5069 33% + 4 5097 5058 33% + 5 5097 5098 33% + 6 5073 5133 33% + + Fantray Air Flow Direction : Port-Side-Intake + Fantray Auto Poll Status : true + Fantray Auto Poll Interval : 2.0 Seconds + Fantray Control Mode : Manual + Fantray Temperature Slot-5 : 20 C + Fantray Temperature Slot-6 : 22 C + Fantray Temperature Local-A : 32 C + Fantray Temperature Local-B : 31 C + Fantray Input Voltage : 11.9945 V + Fantray Input Current : 5.0000 A + Fantray Input Power : 59.9725 W + Fantray Beacon LED : OFF + Fantray Status LED : GREEN diff --git a/src/genie/libs/parser/iosxe/cat9k/c9610/tests/ShowPowerDetail/cli/empty/empty_output_output.txt b/src/genie/libs/parser/iosxe/cat9k/c9610/tests/ShowPowerDetail/cli/empty/empty_output_output.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/genie/libs/parser/iosxe/cat9k/c9610/tests/ShowPowerDetail/cli/equal/golden_output_expected.py b/src/genie/libs/parser/iosxe/cat9k/c9610/tests/ShowPowerDetail/cli/equal/golden_output_expected.py new file mode 100644 index 0000000000..a0003ee2f1 --- /dev/null +++ b/src/genie/libs/parser/iosxe/cat9k/c9610/tests/ShowPowerDetail/cli/equal/golden_output_expected.py @@ -0,0 +1,179 @@ +expected_output = { + "power_supplies":{ + "PS1":{ + "model":"C9600-PWR-3KWAC", + "type":"ac", + "capacity":3000, + "status":"active", + "fan_states":{ + "1":"good", + "2":"good" + } + }, + "PS2":{ + "model":"C9600-PWR-3KWAC", + "type":"ac", + "capacity":3000, + "status":"active", + "fan_states":{ + "1":"good", + "2":"good" + } + }, + "PS3":{ + "model":"C9600-PWR-3KWAC", + "type":"ac", + "capacity":3000, + "status":"active", + "fan_states":{ + "1":"good", + "2":"good" + } + }, + "PS4":{ + "model":"C9600-PWR-3KWAC", + "type":"ac", + "capacity":3000, + "status":"active", + "fan_states":{ + "1":"good", + "2":"good" + } + }, + "PS5":{ + "model":"C9600-PWR-3KWAC", + "type":"ac", + "capacity":3000, + "status":"active", + "fan_states":{ + "1":"good", + "2":"good" + } + }, + "PS6":{ + "model":"C9600-PWR-3KWAC", + "type":"ac", + "capacity":3000, + "status":"active", + "fan_states":{ + "1":"good", + "2":"good" + } + }, + "PS7":{ + "model":"C9600-PWR-3KWAC", + "type":"ac", + "capacity":3000, + "status":"active", + "fan_states":{ + "1":"good", + "2":"good" + } + }, + "PS8":{ + "model":"C9600-PWR-3KWAC", + "type":"ac", + "capacity":3000, + "status":"active", + "fan_states":{ + "1":"good", + "2":"good" + } + } + }, + "current_configuration_mode":"Combined", + "current_operating_state":"Normal", + "redundant_power":0, + "power_supplies_active":8, + "power_supplies_available":8, + "power_summary":{ + "used":8671, + "available":23580 + }, + "power_budget_mode":"Dual Sup", + "modules":{ + "3":{ + "model":"C9610-LC-32CD", + "state":"accepted", + "budget":450, + "instantaneous":27, + "peak":105, + "out_of_reset":450, + "in_reset":10 + }, + "4":{ + "model":"C9610-LC-40YL4CD", + "state":"accepted", + "budget":420, + "instantaneous":22, + "peak":58, + "out_of_reset":420, + "in_reset":10 + }, + "5":{ + "model":"C9610-SUP-3", + "state":"accepted", + "budget":1500, + "instantaneous":406, + "peak":455, + "out_of_reset":1500, + "in_reset":650 + }, + "6":{ + "model":"C9610-SUP-3", + "state":"accepted", + "budget":1500, + "instantaneous":418, + "peak":455, + "out_of_reset":1500, + "in_reset":650 + }, + "10":{ + "model":"C9600-LC-48TX", + "state":"---", + "budget":1, + "instantaneous":0, + "peak":0, + "out_of_reset":0, + "in_reset":1 + }, + "FT1":{ + "model":"C9610-FAN", + "state":"accepted", + "budget":1200, + "instantaneous":47, + "peak":69, + "out_of_reset":1200, + "in_reset":0 + }, + "FT2":{ + "model":"C9610-FAN", + "state":"accepted", + "budget":1200, + "instantaneous":46, + "peak":69, + "out_of_reset":1200, + "in_reset":0 + }, + "FT3":{ + "model":"C9610-FAN", + "state":"accepted", + "budget":1200, + "instantaneous":47, + "peak":69, + "out_of_reset":1200, + "in_reset":0 + }, + "FT4":{ + "model":"C9610-FAN", + "state":"accepted", + "budget":1200, + "instantaneous":47, + "peak":69, + "out_of_reset":1200, + "in_reset":0 + } + }, + "total_allocated_power":8671, + "total_required_power":8670 +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/cat9k/c9610/tests/ShowPowerDetail/cli/equal/golden_output_output.txt b/src/genie/libs/parser/iosxe/cat9k/c9610/tests/ShowPowerDetail/cli/equal/golden_output_output.txt new file mode 100644 index 0000000000..67ec9315b6 --- /dev/null +++ b/src/genie/libs/parser/iosxe/cat9k/c9610/tests/ShowPowerDetail/cli/equal/golden_output_output.txt @@ -0,0 +1,45 @@ +Power Fan States +Supply Model No Type Capacity Status 1 2 +------ -------------------- ---- -------- --------- ----------- +PS1 C9600-PWR-3KWAC ac 3000 W active good good +PS2 C9600-PWR-3KWAC ac 3000 W active good good +PS3 C9600-PWR-3KWAC ac 3000 W active good good +PS4 C9600-PWR-3KWAC ac 3000 W active good good +PS5 C9600-PWR-3KWAC ac 3000 W active good good +PS6 C9600-PWR-3KWAC ac 3000 W active good good +PS7 C9600-PWR-3KWAC ac 3000 W active good good +PS8 C9600-PWR-3KWAC ac 3000 W active good good + +PS Current Configuration Mode : Combined +PS Current Operating State : Normal +Redundant Power : 0 + +Power supplies currently active : 8 +Power supplies currently available : 8 + +Power Summary Maximum + (in Watts) Used Available +------------- ------ --------- +System Power 8671 23580 +------------- ------ --------- +Total 8671 23580 + +Power Budget Mode : Dual Sup + + Power Out of In +Mod Model No State Budget Instantaneous Peak Reset Reset +--- -------------------- -------- ------ ------------- ---- ------ ----- +1 C9600X-LC-32CD 0 0 0 0 0 +2 C9600X-LC-56YL4C 0 0 0 0 0 +3 C9610-LC-32CD accepted 450 27 105 450 10 +4 C9610-LC-40YL4CD accepted 420 22 58 420 10 +5 C9610-SUP-3 accepted 1500 406 455 1500 650 +6 C9610-SUP-3 accepted 1500 418 455 1500 650 +10 C9600-LC-48TX --- 1 0 0 0 1 +FT1 C9610-FAN accepted 1200 47 69 1200 -- +FT2 C9610-FAN accepted 1200 46 69 1200 -- +FT3 C9610-FAN accepted 1200 47 69 1200 -- +FT4 C9610-FAN accepted 1200 47 69 1200 -- +--- -------------------- -------- ------ ------------- ---- ------ ----- +Total allocated power: 8671 +Total required power: 8670 \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/ie3k/show_platform.py b/src/genie/libs/parser/iosxe/ie3k/show_platform.py index db8b23e96f..939196c856 100644 --- a/src/genie/libs/parser/iosxe/ie3k/show_platform.py +++ b/src/genie/libs/parser/iosxe/ie3k/show_platform.py @@ -324,12 +324,16 @@ def cli(self, output=None): output = self.device.execute(self.cli_command) ret_dict = {} - + # POWER SUPPLY-A DC OK 24V - p1 = re.compile(r'^(?P\w+\s\S+)\s+(?P\S+)\s+(?P\S+)\s{2,}(?P\S+)$') + # POWER SUPPLY B DC OK 54V + # POWER SUPPLY DC OK 24V + p1 = re.compile(r'^(?P(\w+\s\w+\-\w+(\s{2}))|((\w+\s){2}(\w+)(\s{2}))|(\w+\s\w+(\s{2})))\s+(?P\S+)\s+(?P\S+)\s{2,}(?P\S+)$') # POWER SUPPLY-B DC OK - p2 = re.compile(r'^(?P\w+\s\S+)\s+(?P\S+)\s+(?P.+)$') + # POWER SUPPLY B DC OK + # POWER SUPPLY DC OK + p2 = re.compile(r'^(?P(\w+\s\w+\-\w+(\s{2}))|((\w+\s){2}(\w+)(\s{2}))|(\w+\s\w+(\s{2})))\s+(?P\S+)\s+(?P.+)$') for line in output.splitlines(): line = line.strip() @@ -341,7 +345,7 @@ def cli(self, output=None): m = p1.match(line) if m: group = m.groupdict() - name = group['name'] + name = group['name'].strip() power_supply_dict = ret_dict.setdefault('power_supplies', {}).setdefault(name, {}) power_supply_dict.update({ 'type': group['type'], @@ -354,7 +358,7 @@ def cli(self, output=None): m = p2.match(line) if m: group = m.groupdict() - name = group['name'] + name = group['name'].strip() power_supply_dict = ret_dict.setdefault('power_supplies', {}).setdefault(name, {}) power_supply_dict.update({ 'type': group['type'], @@ -444,7 +448,7 @@ def cli(self, output=None): return ret_dict class ShowEnvironmentAlarmContactSchema(MetaParser): - """Schema for show environment alarm contact""" + """Schema for show environment alarm-contact""" schema = { Any(): { @@ -456,9 +460,9 @@ class ShowEnvironmentAlarmContactSchema(MetaParser): } class ShowEnvironmentAlarmContact(ShowEnvironmentAlarmContactSchema): - """Parser for show environment alarm contact""" + """Parser for show environment alarm-contact""" - cli_command = 'show environment alarm contact' + cli_command = 'show environment alarm-contact' def cli(self, output=None): if output is None: diff --git a/src/genie/libs/parser/iosxe/ie3k/tests/ShowEnvironmentPower/cli/equal/golden_output_1_expected.py b/src/genie/libs/parser/iosxe/ie3k/tests/ShowEnvironmentPower/cli/equal/golden_output_1_expected.py new file mode 100644 index 0000000000..64836112f5 --- /dev/null +++ b/src/genie/libs/parser/iosxe/ie3k/tests/ShowEnvironmentPower/cli/equal/golden_output_1_expected.py @@ -0,0 +1,12 @@ +expected_output = { + "power_supplies": { + "POWER SUPPLY A": { + 'type': 'DC', + 'status': 'Disabled' + }, + "POWER SUPPLY B": { + 'type': 'DC', + 'status': 'OK' + } + } +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/ie3k/tests/ShowEnvironmentPower/cli/equal/golden_output_1_output.txt b/src/genie/libs/parser/iosxe/ie3k/tests/ShowEnvironmentPower/cli/equal/golden_output_1_output.txt new file mode 100644 index 0000000000..2554ceae87 --- /dev/null +++ b/src/genie/libs/parser/iosxe/ie3k/tests/ShowEnvironmentPower/cli/equal/golden_output_1_output.txt @@ -0,0 +1,7 @@ +Pwr Supply Type Status + +------------------------------------ + +POWER SUPPLY A DC Disabled + +POWER SUPPLY B DC OK \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/ie3k/tests/ShowEnvironmentPower/cli/equal/golden_output_2_expected.py b/src/genie/libs/parser/iosxe/ie3k/tests/ShowEnvironmentPower/cli/equal/golden_output_2_expected.py new file mode 100644 index 0000000000..2c78bebb8c --- /dev/null +++ b/src/genie/libs/parser/iosxe/ie3k/tests/ShowEnvironmentPower/cli/equal/golden_output_2_expected.py @@ -0,0 +1,8 @@ +expected_output = { + "power_supplies": { + "POWER SUPPLY": { + 'type': 'DC', + 'status': 'OK' + } + } +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/ie3k/tests/ShowEnvironmentPower/cli/equal/golden_output_2_output.txt b/src/genie/libs/parser/iosxe/ie3k/tests/ShowEnvironmentPower/cli/equal/golden_output_2_output.txt new file mode 100644 index 0000000000..e5ab502785 --- /dev/null +++ b/src/genie/libs/parser/iosxe/ie3k/tests/ShowEnvironmentPower/cli/equal/golden_output_2_output.txt @@ -0,0 +1,5 @@ +Pwr Supply Type Status + +------------------------------------ + +POWER SUPPLY DC OK \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/rv1/show_ip.py b/src/genie/libs/parser/iosxe/rv1/show_ip.py index 587bf83b9b..31eb75f282 100644 --- a/src/genie/libs/parser/iosxe/rv1/show_ip.py +++ b/src/genie/libs/parser/iosxe/rv1/show_ip.py @@ -145,11 +145,11 @@ class ShowIpPolicy(ShowIpPolicySchema): Parser for: show ip policy ''' - cli_command = ['show ip policy'] + cli_command = ['show ip policy', 'show ipv6 policy'] - def cli(self, output=None): + def cli(self, command=None, output=None, **kwargs): if output is None: - output = self.device.execute(self.cli_command) + output = self.device.execute(command) # interface Gi5 route-map AAA # Vlan101 pbr_green_1 p1 = re.compile(r'^(?P\S+)\s+(?P\S+)$') diff --git a/src/genie/libs/parser/iosxe/rv1/show_platform.py b/src/genie/libs/parser/iosxe/rv1/show_platform.py index 9ed020d96b..5264206385 100644 --- a/src/genie/libs/parser/iosxe/rv1/show_platform.py +++ b/src/genie/libs/parser/iosxe/rv1/show_platform.py @@ -822,11 +822,9 @@ def cli(self, output=None): # 1 32 WS-C3850-24P-E FCW1947C0HH 0057.d2ff.e71b V07 16.6.1 # 1 32 C9200-24P JAD2310213C dc8c.37ff.ad21 V01 17.05.01 # 1 32 C9200-24P JAD2310213C dc8c.37ff.ad21 V01 2021-03-03_18. + # 1 24 N/A N/A 0ccf.1ab0.0000 N/A N/A p3 = re.compile( - r"^(?P\d+) +(?P\d+) +" - r"(?P[\w\-]+) +(?P\w+) +" - r"(?P[\w\.\:]+) +" - r"(?P\w+) +(?P[\s\S]+)$" + r"^(?P\d+) +(?P\d+) +(?P[\w\-\/]+) +(?P[\w\/]+) +(?P[\w\.\:]+) +(?P[\w+\/]+) +(?P[\s\S]+)$" ) # Current diff --git a/src/genie/libs/parser/iosxe/rv1/show_platform_hardware_fed.py b/src/genie/libs/parser/iosxe/rv1/show_platform_hardware_fed.py index 25df724679..12142c1706 100644 --- a/src/genie/libs/parser/iosxe/rv1/show_platform_hardware_fed.py +++ b/src/genie/libs/parser/iosxe/rv1/show_platform_hardware_fed.py @@ -415,11 +415,11 @@ def cli(self, switch='' , switch_id='', sys_port_gid= "", output=None): # | ac_type: L2-DENSE | | vlan_tag: 1 | sysport_gid: 300 | # | ac_type: L2 | switch_gid: 300 | eth_port_oid: 1925 | sysport_gid: 320 | - p1 = re.compile('^ac_type:\s+(?P\S+)\s*\|(?:\s*switch_gid:\s+(?P\d+))?\s*\|(?:\s*vlan_tag:\s+(?P\d+)|\s*eth_port_oid:\s+(?P\d+))?\s*\|(?:\s*sysport_gid:\s+(?P\d+))?\s*$') + p1 = re.compile(r'^ac_type:\s+(?P\S+)\s*\|(?:\s*switch_gid:\s+(?P\d+))?\s*\|(?:\s*vlan_tag:\s+(?P\d+)|\s*eth_port_oid:\s+(?P\d+))?\s*\|(?:\s*sysport_gid:\s+(?P\d+))?\s*$') # | ac_gid: 122906 | | eth_port_oid: 1677 | sysport_cookie: Gi2/0/2 | # | ac_gid: 6 | switch_cookie: 300 | | sysport_cookie: Gi2/0/24 | - p2 = re.compile('^ac_gid:\s+(?P\d+)\s*\|(?:\s*switch_cookie:\s+(?P\d+))?\s*\|(?:\s*eth_port_oid:\s+(?P\d+))?\s*\|(?:\s*sysport_cookie:\s+(?P\S+))?\s*$') + p2 = re.compile(r'^ac_gid:\s+(?P\d+)\s*\|(?:\s*switch_cookie:\s+(?P\d+))?\s*\|(?:\s*eth_port_oid:\s+(?P\d+))?\s*\|(?:\s*sysport_cookie:\s+(?P\S+))?\s*$') # | ac_cookie: Gi2/0/2 | | | | p3 = re.compile(r'^ac_cookie:\s+(?P\S+)$') @@ -477,4 +477,168 @@ def cli(self, switch='' , switch_id='', sys_port_gid= "", output=None): current_entry['ac_cookie'] = group['ac_cookie'] continue - return parsed_data + return parsed_data + +class ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDefSchema(MetaParser): + """Schema for 'show platform hardware fed {switch} {state} fwd-asic insight acl_table_def()'""" + schema = { + 'acl_entries': { + int: { + 'acl_oid': int, + Optional('acl_cookie'): str, + 'acl_key_profile_oid': int, + Optional('acl_key_profile_cookie'): str, + 'acl_match_key_fields': ListOf(str), + Optional('acl_range_cookie'): str, + Optional('acl_range_direction'): str, + Optional('acl_range_count'): str, + Optional('acl_cmd_profile_oid'): int, + Optional('acl_commands'): ListOf(str), + Optional('source_pcl_info'): str, + Optional('destination_pcl_info'): str, + } + } + } + + +class ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDef(ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDefSchema): + """Parser for 'show platform hardware fed {switch} {state} fwd-asic insight acl_table_def()'""" + + cli_command = "show platform hardware fed {switch} {state} fwd-asic insight acl_table_def()" + + def cli(self, switch, state, output=None): + if output is None: + output = self.device.execute( + self.cli_command.format(switch=switch, state=state) + ) + + result_dict = {} + + # | acl_oid:583 | acl_key_profile_oid:511 | IPV4_SIP | acl_range_cookie: | 581 | DROP | | | + # | acl_oid:1319| acl_key_profile_oid:1227| IPV4_SIP | acl_range_cookie: | | | | | + p1 = re.compile( + r'^\|\s*acl_oid:(?P\d+)\s*\|' + r'\s*acl_key_profile_oid:(?P\d+)\s*\|' + r'\s*(?P\S*)\s*\|' + r'\s*acl_range_cookie:(?P\S*)\s*\|' + r'\s*(?P\S*)\s*\|' + r'\s*(?P\S*)\s*\|' + r'\s*(?P\S*)\s*\|' + r'\s*(?P\S*)\s*\|$' + ) + + # | acl_cookie: | acl_key_profile_cookie: | IPV4_DIP | acl_range_direction: | | FORCE_TRAP_WITH_EVENT | | | + # | acl_cookie: | acl_key_profile_cookie: | IPV4_DIP | acl_range_direction: | | | | | + p2 = re.compile( + r'^\|\s*acl_cookie:(?P\S*)\s*\|' + r'\s*acl_key_profile_cookie:(?P\S*)\s*\|' + r'\s*(?P\S*)\s*\|' + r'\s*acl_range_direction:(?P\S*)\s*\|' + r'\s*(?P\S*)\s*\|' + r'\s*(?P\S*)\s*\|' + r'\s*(?P\S*)\s*\|' + r'\s*(?P\S*)\s*\|$' + ) + + # | | | TOS | acl_range_count: | | COUNTER | | | + # | | | TOS | acl_range_count: | | | | | + p3 = re.compile( + r'^\|\s*\|\s*\|\s*(?P\S*)\s*\|' + r'\s*acl_range_count:(?P\S*)\s*\|' + r'\s*\|\s*(?P\S*)\s*\|' + r'\s*(?P\S*)\s*\|' + r'\s*(?P\S*)\s*\|$' + ) + + # | | | PROTOCOL | | | DO_MIRROR | | | + # | | | PROTOCOL | | | | | | + p4 = re.compile( + r'^\|\s*\|\s*\|\s*(?P\S*)\s*\|\s*\|\s*\|\s*(?P\S*)\s*\|' + r'\s*(?P\S*)\s*\|' + r'\s*(?P\S*)\s*\|$' + ) + + current_acl_oid = None + + for line in output.splitlines(): + line = line.strip() + if not line or line.startswith('+') or line.startswith('| ACL Info'): + continue + + # | acl_oid:583 | acl_key_profile_oid:511 | IPV4_SIP | acl_range_cookie: | 581 | DROP | | | + # | acl_oid:1319| acl_key_profile_oid:1227| IPV4_SIP | acl_range_cookie: | | | | | + m1 = p1.match(line) + if m1: + group = m1.groupdict() + current_acl_oid = int(group['acl_oid']) + entry = result_dict.setdefault('acl_entries', {}).setdefault(current_acl_oid, { + 'acl_oid': current_acl_oid, + 'acl_key_profile_oid': int(group['acl_key_profile_oid']), + 'acl_match_key_fields': [], + 'acl_commands': [], + }) + if group['acl_match_key_fields']: + entry['acl_match_key_fields'].append(group['acl_match_key_fields']) + if group['acl_range_cookie'] and group['acl_range_cookie'] != 'None': + entry['acl_range_cookie'] = group['acl_range_cookie'] + if group['acl_cmd_profile_oid'] and group['acl_cmd_profile_oid'] != 'None': + entry['acl_cmd_profile_oid'] = int(group['acl_cmd_profile_oid']) + if group['acl_commands']: + entry['acl_commands'].append(group['acl_commands']) + if group['source_pcl_info'] and group['source_pcl_info'] != 'None': + entry['source_pcl_info'] = group['source_pcl_info'] + if group['destination_pcl_info'] and group['destination_pcl_info'] != 'None': + entry['destination_pcl_info'] = group['destination_pcl_info'] + continue + + # | acl_cookie: | acl_key_profile_cookie: | IPV4_DIP | acl_range_direction: | | FORCE_TRAP_WITH_EVENT | | | + # | acl_cookie: | acl_key_profile_cookie: | IPV4_DIP | acl_range_direction: | | | | | + m2 = p2.match(line) + if m2 and current_acl_oid is not None: + group = m2.groupdict() + entry = result_dict['acl_entries'][current_acl_oid] + if group['acl_cookie'] and group['acl_cookie'] != 'None': + entry['acl_cookie'] = group['acl_cookie'] + if group['acl_key_profile_cookie'] and group['acl_key_profile_cookie'] != 'None': + entry['acl_key_profile_cookie'] = group['acl_key_profile_cookie'] + if group['acl_match_key_fields']: + entry['acl_match_key_fields'].append(group['acl_match_key_fields']) + if group['acl_range_direction'] and group['acl_range_direction'] != 'None': + entry['acl_range_direction'] = group['acl_range_direction'] + if group['acl_commands']: + entry['acl_commands'].append(group['acl_commands']) + continue + + # | | | TOS | acl_range_count: | | COUNTER | | | + # | | | TOS | acl_range_count: | | | | | + m3 = p3.match(line) + if m3 and current_acl_oid is not None: + group = m3.groupdict() + entry = result_dict['acl_entries'][current_acl_oid] + if group['acl_match_key_fields']: + entry['acl_match_key_fields'].append(group['acl_match_key_fields']) + if group['acl_range_count'] and group['acl_range_count'] != 'None': + entry['acl_range_count'] = group['acl_range_count'] + if group['acl_commands']: + entry['acl_commands'].append(group['acl_commands']) + continue + + # | | | PROTOCOL | | | DO_MIRROR | | | + # | | | PROTOCOL | | | | | | + m4 = p4.match(line) + if m4 and current_acl_oid is not None: + group = m4.groupdict() + entry = result_dict['acl_entries'][current_acl_oid] + if group['acl_match_key_fields']: + entry['acl_match_key_fields'].append(group['acl_match_key_fields']) + if group['acl_commands']: + entry['acl_commands'].append(group['acl_commands']) + continue + + # Iterate through all parsed ACL entries + for acl_id, acl_data in result_dict.get('acl_entries', {}).items(): + # If 'acl_commands' key exists and its list is empty, delete the key + if 'acl_commands' in acl_data and not acl_data['acl_commands']: + del acl_data['acl_commands'] + + return result_dict diff --git a/src/genie/libs/parser/iosxe/rv1/tests/ShowIpPolicy/cli/equal/golden_2_expected.py b/src/genie/libs/parser/iosxe/rv1/tests/ShowIpPolicy/cli/equal/golden_2_expected.py new file mode 100644 index 0000000000..23737ad57b --- /dev/null +++ b/src/genie/libs/parser/iosxe/rv1/tests/ShowIpPolicy/cli/equal/golden_2_expected.py @@ -0,0 +1,19 @@ +expected_output = { + 'interface': { + 'Interface': { + 'route_map': 'Routemap', + }, + 'Vlan101': { + 'route_map': 'pbr_green_1_v6', + }, + 'Vlan102': { + 'route_map': 'pbr_green_1_v6', + }, + 'Vlan2002': { + 'route_map': 'pbr_green_1_v6', + }, + 'Vlan901': { + 'route_map': 'pbr_green_1_v6', + }, + }, +} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/rv1/tests/ShowIpPolicy/cli/equal/golden_2_output.txt b/src/genie/libs/parser/iosxe/rv1/tests/ShowIpPolicy/cli/equal/golden_2_output.txt new file mode 100644 index 0000000000..2461ada183 --- /dev/null +++ b/src/genie/libs/parser/iosxe/rv1/tests/ShowIpPolicy/cli/equal/golden_2_output.txt @@ -0,0 +1,5 @@ +Interface Routemap +Vlan901 pbr_green_1_v6 +Vlan2002 pbr_green_1_v6 +Vlan102 pbr_green_1_v6 +Vlan101 pbr_green_1_v6 \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatform/cli/equal/golden_output3_expected.py b/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatform/cli/equal/golden_output3_expected.py new file mode 100644 index 0000000000..8fd6c42f15 --- /dev/null +++ b/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatform/cli/equal/golden_output3_expected.py @@ -0,0 +1,8 @@ +expected_output = {'slot': {'1': {'other': {'N/A': {'hw_ver': 'N/A', + 'mac_address': '0ccf.1ab0.0000', + 'name': 'N/A', + 'ports': '24', + 'slot': '1', + 'sn': 'N/A', + 'sw_ver': 'N/A'}}}}, + 'main': {'mac_persistency_wait_time': 'indefinite'}} \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatform/cli/equal/golden_output3_output.txt b/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatform/cli/equal/golden_output3_output.txt new file mode 100644 index 0000000000..79bbf7afbb --- /dev/null +++ b/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatform/cli/equal/golden_output3_output.txt @@ -0,0 +1,15 @@ +Switch Ports Model Serial No. MAC address Hw Ver. Sw Ver. + +------ ----- --------- ----------- -------------- ------- -------- + + 1 24 N/A N/A 0ccf.1ab0.0000 N/A N/A + +Chassis/Stack Mac Address : 0000.0000.0000 - Foreign Mac Address + +Mac persistency wait time: Indefinite + + Current + +Chassis# Role Priority State + +------------------------------------------- \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDef/cli/empty/empty_output_1_arguments.json b/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDef/cli/empty/empty_output_1_arguments.json new file mode 100644 index 0000000000..9eef67ce7a --- /dev/null +++ b/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDef/cli/empty/empty_output_1_arguments.json @@ -0,0 +1,4 @@ +{ + "switch": "switch", + "state": "4" +} diff --git a/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDef/cli/empty/empty_output_arguments.json b/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDef/cli/empty/empty_output_arguments.json new file mode 100644 index 0000000000..16c5cf6ccb --- /dev/null +++ b/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDef/cli/empty/empty_output_arguments.json @@ -0,0 +1,4 @@ +{ + "switch": "switch", + "state": "active" +} diff --git a/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDef/cli/empty/empty_output_output.txt b/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDef/cli/empty/empty_output_output.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDef/cli/equal/golden_output_1_arguments.json b/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDef/cli/equal/golden_output_1_arguments.json new file mode 100644 index 0000000000..9eef67ce7a --- /dev/null +++ b/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDef/cli/equal/golden_output_1_arguments.json @@ -0,0 +1,4 @@ +{ + "switch": "switch", + "state": "4" +} diff --git a/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDef/cli/equal/golden_output_1_expected.py b/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDef/cli/equal/golden_output_1_expected.py new file mode 100644 index 0000000000..7b77f6f7d6 --- /dev/null +++ b/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDef/cli/equal/golden_output_1_expected.py @@ -0,0 +1,43 @@ +expected_output = { + 'acl_entries': { + 1319: { + 'acl_oid': 1319, + 'acl_key_profile_oid': 1227, + 'acl_match_key_fields': [ + 'IPV4_SIP', + 'IPV4_DIP', + 'TOS', + 'PROTOCOL', + 'IPV4_FLAGS', + 'TTL', + 'SPORT', + 'DPORT', + 'TCP_FLAGS', + 'MSG_CODE', + 'MSG_TYPE', + 'IS_ROUTED', + 'IS_INJECT_UP', + 'IS_STP_STATE_BLOCKING' + ] + }, + 1321: { + 'acl_oid': 1321, + 'acl_key_profile_oid': 1244, + 'acl_match_key_fields': [ + 'IPV4_SIP', + 'IPV4_DIP', + 'TOS', + 'PROTOCOL', + 'IPV4_FLAGS', + 'TTL', + 'SPORT', + 'DPORT', + 'TCP_FLAGS', + 'MSG_CODE', + 'MSG_TYPE', + 'IS_ROUTED', + 'IS_INJECT_UP' + ] + } + } +} diff --git a/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDef/cli/equal/golden_output_1_output.txt b/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDef/cli/equal/golden_output_1_output.txt new file mode 100644 index 0000000000..130d88ac8d --- /dev/null +++ b/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDef/cli/equal/golden_output_1_output.txt @@ -0,0 +1,32 @@ ++--------------+--------------------------+-----------------------------------+----------------------+-------------------------+--------------+-----------------+----------------------+ +| ACL Info | ACL Key Profile | ACL Match Key Fields | Range Info | ACL Command Profile OID | ACL Commands | Source PCL Info | Destination PCL Info | ++--------------+--------------------------+-----------------------------------+----------------------+-------------------------+--------------+-----------------+----------------------+ +| acl_oid:1319 | acl_key_profile_oid:1227 | IPV4_SIP | acl_range_cookie: | | | | | +| acl_cookie: | acl_key_profile_cookie: | IPV4_DIP | acl_range_direction: | | | | | +| | | TOS | acl_range_count: | | | | | +| | | PROTOCOL | | | | | | +| | | IPV4_FLAGS | | | | | | +| | | TTL | | | | | | +| | | SPORT | | | | | | +| | | DPORT | | | | | | +| | | TCP_FLAGS | | | | | | +| | | MSG_CODE | | | | | | +| | | MSG_TYPE | | | | | | +| | | IS_ROUTED | | | | | | +| | | IS_INJECT_UP | | | | | | +| | | IS_STP_STATE_BLOCKING | | | | | | +| | | | | | | | | +| acl_oid:1321 | acl_key_profile_oid:1244 | IPV4_SIP | acl_range_cookie: | | | | | +| acl_cookie: | acl_key_profile_cookie: | IPV4_DIP | acl_range_direction: | | | | | +| | | TOS | acl_range_count: | | | | | +| | | PROTOCOL | | | | | | +| | | IPV4_FLAGS | | | | | | +| | | TTL | | | | | | +| | | SPORT | | | | | | +| | | DPORT | | | | | | +| | | TCP_FLAGS | | | | | | +| | | MSG_CODE | | | | | | +| | | MSG_TYPE | | | | | | +| | | IS_ROUTED | | | | | | +| | | IS_INJECT_UP | | | | | | +| | | | | | | | | diff --git a/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDef/cli/equal/golden_output_arguments.json b/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDef/cli/equal/golden_output_arguments.json new file mode 100644 index 0000000000..16c5cf6ccb --- /dev/null +++ b/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDef/cli/equal/golden_output_arguments.json @@ -0,0 +1,4 @@ +{ + "switch": "switch", + "state": "active" +} diff --git a/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDef/cli/equal/golden_output_expected.py b/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDef/cli/equal/golden_output_expected.py new file mode 100644 index 0000000000..e66413146b --- /dev/null +++ b/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDef/cli/equal/golden_output_expected.py @@ -0,0 +1,23 @@ +expected_output = { + 'acl_entries': { + 583: { + 'acl_oid': 583, + 'acl_key_profile_oid': 511, + 'acl_match_key_fields': [ + 'IPV4_SIP', + 'IPV4_DIP', + 'TOS', + 'PROTOCOL', + 'IPV4_FLAGS' + ], + 'acl_commands': [ + 'DROP', + 'FORCE_TRAP_WITH_EVENT', + 'COUNTER', + 'DO_MIRROR', + 'MIRROR_CMD' + ], + 'acl_cmd_profile_oid': 581 + } + } +} diff --git a/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDef/cli/equal/golden_output_output.txt b/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDef/cli/equal/golden_output_output.txt new file mode 100644 index 0000000000..eba96f4fd5 --- /dev/null +++ b/src/genie/libs/parser/iosxe/rv1/tests/ShowPlatformHardwareFedSwitchFwdAsicInsightAclTableDef/cli/equal/golden_output_output.txt @@ -0,0 +1,9 @@ ++--------------+-------------------------+-----------------------------------+----------------------+-------------------------+-----------------------------+-----------------+----------------------+ +| ACL Info | ACL Key Profile | ACL Match Key Fields | Range Info | ACL Command Profile OID | ACL Commands | Source PCL Info | Destination PCL Info | ++--------------+-------------------------+-----------------------------------+----------------------+-------------------------+-----------------------------+-----------------+----------------------+ +| acl_oid:583 | acl_key_profile_oid:511 | IPV4_SIP | acl_range_cookie: | 581 | DROP | | | +| acl_cookie: | acl_key_profile_cookie: | IPV4_DIP | acl_range_direction: | | FORCE_TRAP_WITH_EVENT | | | +| | | TOS | acl_range_count: | | COUNTER | | | +| | | PROTOCOL | | | DO_MIRROR | | | +| | | IPV4_FLAGS | | | MIRROR_CMD | | | ++--------------+-------------------------+-----------------------------------+----------------------+-------------------------+-----------------------------+-----------------+----------------------+ diff --git a/src/genie/libs/parser/iosxe/show_alignment.py b/src/genie/libs/parser/iosxe/show_alignment.py new file mode 100644 index 0000000000..26de686f14 --- /dev/null +++ b/src/genie/libs/parser/iosxe/show_alignment.py @@ -0,0 +1,230 @@ +"""show_alignment.py + +IOS parsers for the following show commands: + * show alignment +""" + +# python +import re + +# metaparser +from genie.metaparser import MetaParser +from genie.metaparser.util.schemaengine import Schema, \ + Any, \ + Optional, \ + Or, \ + And, \ + Default, \ + Use, \ + ListOf + + +class ShowAlignmentSchema(MetaParser): + """Schema for show alignment""" + schema = { + Optional('alignment_data'): { + 'software_version': str, + 'compiled_date': str, + 'compiled_by': str, + Optional('total_corrections'): int, + Optional('recorded_corrections'): int, + Optional('reads'): int, + Optional('writes'): int, + Optional('alignment_records'): { + Any(): { # address + 'count': int, + 'access_type': str, + 'operation': str, + 'traceback': ListOf(str), + } + } + }, + Optional('spurious_memory'): { + Optional('total_spurious_accesses'): int, + Optional('recorded_spurious_accesses'): int, + Optional('spurious_records'): { + Any(): { # address + 'count': int, + 'traceback': ListOf(str), + } + } + }, + Optional('no_alignment_data'): bool, + Optional('no_spurious_references'): bool, + } + + +class ShowAlignment(ShowAlignmentSchema): + """Parser for show alignment""" + + cli_command = 'show alignment' + + def cli(self, output=None): + if output is None: + out = self.device.execute(self.cli_command) + else: + out = output + + # initial return dictionary + ret_dict = {} + + # Regex patterns + # No alignment data recorded + p1 = re.compile(r'^No alignment data recorded$') + + # No spurious memory references have been recorded + p2 = re.compile(r'^No spurious memory references have been recorded\.?$') + + # Alignment data for: + p3 = re.compile(r'^Alignment data for:?\s*$') + + # RSP Software (RSP-ISV-M), Version 11.3(3a), RELEASE SOFTWARE (fc1) + p4 = re.compile(r'^(?P.*Software.*), Version (?P[\d\.\(\)a-zA-Z]+), (?P.*)$') + + # Compiled Fri 01-May-98 18:28 by phanguye + p5 = re.compile(r'^Compiled (?P.*) by (?P\S+)$') + + # Total Corrections 6, Recorded 2, Reads 6, Writes 0 + p6 = re.compile(r'^Total Corrections (?P\d+), Recorded (?P\d+), Reads (?P\d+), Writes (?P\d+)$') + + # No alignment data has been recorded + p7 = re.compile(r'^No alignment data has been recorded\.?$') + + # 60EF3765 3 32bit read 0x60262474 0x601AC594 0x601AC580 + p8 = re.compile(r'^(?P
[0-9A-Fa-f]+)\s+(?P\d+)\s+(?P\S+)\s+(?P\S+)\s+(?P.*)$') + + # Total Spurious Accesses 26, Recorded 14 + p9 = re.compile(r'^Total Spurious Accesses (?P\d+), Recorded (?P\d+)$') + + # 1DC8 1 0x60299BF4 0x6061B010 0x60334FB8 0x6061D8E0 + p10 = re.compile(r'^(?P
[0-9A-Fa-f]+)\s+(?P\d+)\s+(?P.*)$') + + # 0x6062065C 0x60519A70 0x6051913C 0x6050BE88 [Continuation of traceback] + p11 = re.compile(r'^\s+(?P.*)$') + + current_traceback = [] + last_address = None + is_spurious_section = False + + for line in out.splitlines(): + line = line.strip() + + # Skip empty lines + if not line: + continue + + # No alignment data recorded + m = p1.match(line) + if m: + ret_dict['no_alignment_data'] = True + continue + + # No spurious memory references have been recorded + m = p2.match(line) + if m: + ret_dict['no_spurious_references'] = True + continue + + # Alignment data for: + m = p3.match(line) + if m: + is_spurious_section = False + continue + + # RSP Software (RSP-ISV-M), Version 11.3(3a), RELEASE SOFTWARE (fc1) + m = p4.match(line) + if m: + alignment_dict = ret_dict.setdefault('alignment_data', {}) + software_info = f"{m.groupdict()['software']}, Version {m.groupdict()['version']}, {m.groupdict()['release']}" + alignment_dict['software_version'] = software_info + continue + + # Compiled Fri 01-May-98 18:28 by phanguye + m = p5.match(line) + if m: + alignment_dict = ret_dict.setdefault('alignment_data', {}) + alignment_dict['compiled_date'] = m.groupdict()['date'] + alignment_dict['compiled_by'] = m.groupdict()['compiled_by'] + continue + + # Total Corrections 6, Recorded 2, Reads 6, Writes 0 + m = p6.match(line) + if m: + alignment_dict = ret_dict.setdefault('alignment_data', {}) + alignment_dict['total_corrections'] = int(m.groupdict()['corrections']) + alignment_dict['recorded_corrections'] = int(m.groupdict()['recorded']) + alignment_dict['reads'] = int(m.groupdict()['reads']) + alignment_dict['writes'] = int(m.groupdict()['writes']) + continue + + # No alignment data has been recorded + m = p7.match(line) + if m: + alignment_dict = ret_dict.setdefault('alignment_data', {}) + # This indicates no alignment records exist + continue + + if 'Total Spurious Accesses' in line: + is_spurious_section = True + # Total Spurious Accesses 26, Recorded 14 + m = p9.match(line) + if m: + spurious_dict = ret_dict.setdefault('spurious_memory', {}) + spurious_dict['total_spurious_accesses'] = int(m.groupdict()['total']) + spurious_dict['recorded_spurious_accesses'] = int(m.groupdict()['recorded']) + continue + + if not is_spurious_section: + # 60EF3765 3 32bit read 0x60262474 0x601AC594 0x601AC580 + m = p8.match(line) + if m: + alignment_dict = ret_dict.setdefault('alignment_data', {}) + records_dict = alignment_dict.setdefault('alignment_records', {}) + address = m.groupdict()['address'] + last_address = address + + record_dict = records_dict.setdefault(address, {}) + record_dict['count'] = int(m.groupdict()['count']) + record_dict['access_type'] = m.groupdict()['access_type'] + record_dict['operation'] = m.groupdict()['operation'] + + # Parse traceback addresses + traceback_str = m.groupdict()['traceback'] + traceback_addrs = traceback_str.split() + record_dict['traceback'] = traceback_addrs + current_traceback = traceback_addrs + continue + else: + # 1DC8 1 0x60299BF4 0x6061B010 0x60334FB8 0x6061D8E0 + m = p10.match(line) + if m: + spurious_dict = ret_dict.setdefault('spurious_memory', {}) + records_dict = spurious_dict.setdefault('spurious_records', {}) + address = m.groupdict()['address'] + last_address = address + + record_dict = records_dict.setdefault(address, {}) + record_dict['count'] = int(m.groupdict()['count']) + + # Parse traceback addresses + traceback_str = m.groupdict()['traceback'] + traceback_addrs = traceback_str.split() + record_dict['traceback'] = traceback_addrs + current_traceback = traceback_addrs + continue + + # 0x6062065C 0x60519A70 0x6051913C 0x6050BE88 + m = p11.match(line) + if m and last_address: + traceback_str = m.groupdict()['traceback'] + traceback_addrs = traceback_str.split() + current_traceback.extend(traceback_addrs) + + # Update the appropriate record + if not is_spurious_section and 'alignment_data' in ret_dict and 'alignment_records' in ret_dict['alignment_data']: + ret_dict['alignment_data']['alignment_records'][last_address]['traceback'] = current_traceback + elif is_spurious_section and 'spurious_memory' in ret_dict and 'spurious_records' in ret_dict['spurious_memory']: + ret_dict['spurious_memory']['spurious_records'][last_address]['traceback'] = current_traceback + continue + + return ret_dict diff --git a/src/genie/libs/parser/iosxe/show_cef.py b/src/genie/libs/parser/iosxe/show_cef.py index f8271a95ea..5c09b22a42 100644 --- a/src/genie/libs/parser/iosxe/show_cef.py +++ b/src/genie/libs/parser/iosxe/show_cef.py @@ -6,6 +6,7 @@ * show cef uid * show cef path sets summary * show cef interface + * show cef table consistency-check """ # Python @@ -762,3 +763,221 @@ def cli(self, interface=None, output=None): continue return ret_dict + + +# ====================================== +# Schema for: +# * 'show cef table consistency-check' +# ====================================== +class ShowCefTableConsistencyCheckSchema(MetaParser): + + """ Schema for: + * 'show cef table consistency-check' + """ + + schema = { + 'consistency_checker_master_control': str, + Optional('ipv4'): { + 'table_consistency_checker_state': { + Any(): { + 'status': str, + Optional('prefixes_checked'): int, + Optional('check_interval'): int, + 'queries_sent': int, + 'queries_ignored': int, + 'queries_checked': int, + 'queries_iterated': int, + } + }, + 'checksum_data_checking': str, + 'inconsistency_error_messages': str, + 'inconsistency_auto_repair': str, + Optional('auto_repair_delay'): int, + Optional('auto_repair_holddown'): int, + 'inconsistency_auto_repair_runs': int, + 'inconsistency_statistics_confirmed': int, + 'inconsistency_statistics_recorded': str, + }, + Optional('ipv6'): { + 'table_consistency_checker_state': { + Any(): { + 'status': str, + Optional('prefixes_checked'): int, + Optional('check_interval'): int, + 'queries_sent': int, + 'queries_ignored': int, + 'queries_checked': int, + 'queries_iterated': int, + } + }, + 'checksum_data_checking': str, + 'inconsistency_error_messages': str, + 'inconsistency_auto_repair': str, + Optional('auto_repair_delay'): int, + Optional('auto_repair_holddown'): int, + 'inconsistency_auto_repair_runs': int, + 'inconsistency_statistics_confirmed': int, + 'inconsistency_statistics_recorded': str, + }, + Optional('binding_label'): { + 'table_consistency_checker_state': { + Any(): { + 'status': str, + Optional('prefixes_checked'): int, + Optional('check_interval'): int, + 'queries_sent': int, + 'queries_ignored': int, + 'queries_checked': int, + 'queries_iterated': int, + } + }, + 'checksum_data_checking': str, + 'inconsistency_error_messages': str, + 'inconsistency_auto_repair': str, + Optional('auto_repair_delay'): int, + Optional('auto_repair_holddown'): int, + 'inconsistency_auto_repair_runs': int, + 'inconsistency_statistics_confirmed': int, + 'inconsistency_statistics_recorded': str, + } + } + + +# ====================================== +# Parser for: +# * 'show cef table consistency-check' +# ====================================== +class ShowCefTableConsistencyCheck(ShowCefTableConsistencyCheckSchema): + + ''' Parser for: + * 'show cef table consistency-check' + ''' + + cli_command = 'show cef table consistency-check' + + def cli(self, output=None): + if output is None: + output = self.device.execute(self.cli_command) + + # Initialize return dictionary + parsed_dict = {} + + # Consistency checker master control: enabled + p1 = re.compile(r'^Consistency\s+checker\s+master\s+control:\s+(?P\w+)$') + + # IPv4:, IPv6:, Binding-Label: + p2 = re.compile(r'^(?P
IPv4|IPv6|Binding-Label):$') + + # lc-detect: disabled + # full-scan-rib-ios: enabled [1000 prefixes checked every 60s] + p3 = re.compile(r'^\s+(?P[\w-]+):\s+(?P\w+)(?:\s+\[(?P\d+)\s+prefixes\s+checked\s+every\s+(?P\d+)s\])?$') + + # 0/0/0/0 queries sent/ignored/checked/iterated + p4 = re.compile(r'^\s+(?P\d+)\/(?P\d+)\/(?P\d+)\/(?P\d+)\s+queries\s+sent/ignored/checked/iterated$') + + # Checksum data checking disabled + p5 = re.compile(r'^\s+Checksum\s+data\s+checking\s+(?P\w+)$') + + # Inconsistency error messages are disabled + p6 = re.compile(r'^\s+Inconsistency\s+error\s+messages\s+are\s+(?P\w+)$') + + # Inconsistency auto-repair is enabled (10s delay, 300s holddown) + p7 = re.compile(r'^\s+Inconsistency\s+auto-repair\s+is\s+(?P\w+)(?:\s+\((?P\d+)s\s+delay,\s+(?P\d+)s\s+holddown\))?$') + + # Inconsistency auto-repair runs: 0 + p8 = re.compile(r'^\s+Inconsistency\s+auto-repair\s+runs:\s+(?P\d+)$') + + # Inconsistency statistics: 0 confirmed, 0/16 recorded + p9 = re.compile(r'^\s+Inconsistency\s+statistics:\s+(?P\d+)\s+confirmed,\s+(?P\S+)\s+recorded$') + + current_section = None + current_checker = None + + for line in output.splitlines(): + line = line.rstrip() + if not line: + continue + + # Match master control + m = p1.match(line) + if m: + parsed_dict['consistency_checker_master_control'] = m.groupdict()['control'] + continue + + # Match section headers (IPv4, IPv6, Binding-Label) + m = p2.match(line) + if m: + section = m.groupdict()['section'].lower().replace('-', '_') + current_section = section + parsed_dict[current_section] = {} + parsed_dict[current_section]['table_consistency_checker_state'] = {} + continue + + # Match checker types + m = p3.match(line) + if m and current_section: + checker_type = m.groupdict()['checker_type'] + status = m.groupdict()['status'] + prefixes = m.groupdict().get('prefixes') + interval = m.groupdict().get('interval') + + current_checker = checker_type + checker_dict = parsed_dict[current_section]['table_consistency_checker_state'][checker_type] = {} + checker_dict['status'] = status + + if prefixes: + checker_dict['prefixes_checked'] = int(prefixes) + if interval: + checker_dict['check_interval'] = int(interval) + continue + + # Match query statistics + m = p4.match(line) + if m and current_section and current_checker: + checker_dict = parsed_dict[current_section]['table_consistency_checker_state'][current_checker] + checker_dict['queries_sent'] = int(m.groupdict()['sent']) + checker_dict['queries_ignored'] = int(m.groupdict()['ignored']) + checker_dict['queries_checked'] = int(m.groupdict()['checked']) + checker_dict['queries_iterated'] = int(m.groupdict()['iterated']) + continue + + # Match checksum data checking + m = p5.match(line) + if m and current_section: + parsed_dict[current_section]['checksum_data_checking'] = m.groupdict()['status'] + continue + + # Match inconsistency error messages + m = p6.match(line) + if m and current_section: + parsed_dict[current_section]['inconsistency_error_messages'] = m.groupdict()['status'] + continue + + # Match inconsistency auto-repair + m = p7.match(line) + if m and current_section: + status = m.groupdict()['status'] + delay = m.groupdict().get('delay') + holddown = m.groupdict().get('holddown') + + parsed_dict[current_section]['inconsistency_auto_repair'] = status + if delay: + parsed_dict[current_section]['auto_repair_delay'] = int(delay) + if holddown: + parsed_dict[current_section]['auto_repair_holddown'] = int(holddown) + continue + + # Match auto-repair runs + m = p8.match(line) + if m and current_section: + parsed_dict[current_section]['inconsistency_auto_repair_runs'] = int(m.groupdict()['runs']) + continue + + # Match inconsistency statistics + m = p9.match(line) + if m and current_section: + parsed_dict[current_section]['inconsistency_statistics_confirmed'] = int(m.groupdict()['confirmed']) + parsed_dict[current_section]['inconsistency_statistics_recorded'] = m.groupdict()['recorded'] + continue + + return parsed_dict diff --git a/src/genie/libs/parser/iosxe/show_cts.py b/src/genie/libs/parser/iosxe/show_cts.py index c15a65f4cb..7fd7ece532 100644 --- a/src/genie/libs/parser/iosxe/show_cts.py +++ b/src/genie/libs/parser/iosxe/show_cts.py @@ -4287,4 +4287,48 @@ def cli(self, output=None): current_server = {} continue - return ret_dict \ No newline at end of file + return ret_dict + +class ShowCtsCredentialsSchema(MetaParser): + """Parser for `show cts credentials`""" + schema = { + 'credentials_exist': bool, + Optional('username'): str + } + +class ShowCtsCredentials(ShowCtsCredentialsSchema): + """Parser for `show cts credentials`""" + + cli_command = 'show cts credentials' + + def cli(self, output=None): + if output is None: + output = self.device.execute(self.cli_command) + + # No CTS credentials exist + p1 = re.compile(r'^No\s+CTS\s+credentials\s+exist\.$') + # CTS password is defined in keystore, device-id = cts_admin + p2 = re.compile( + r'^CTS\s+password\s+is\s+defined\s+in\s+keystore,' + r'\s+device-id\s*=\s*(?P\S+)$' + ) + + ret_dict = {} + + for line in output.splitlines(): + line = line.strip() + + # No CTS credentials exist + m = p1.match(line) + if m: + ret_dict['credentials_exist'] = False + continue + + # CTS password is defined in keystore, device-id = cts_admin + m = p2.match(line) + if m: + ret_dict['credentials_exist'] = True + ret_dict['username'] = m.group('username') + continue + + return ret_dict diff --git a/src/genie/libs/parser/iosxe/show_hw.py b/src/genie/libs/parser/iosxe/show_hw.py index be907ddc2e..d922586d7f 100644 --- a/src/genie/libs/parser/iosxe/show_hw.py +++ b/src/genie/libs/parser/iosxe/show_hw.py @@ -9,6 +9,7 @@ * hw-module beacon slot {slot_num} status * show hw-module subslot all oir * show hw-module subslot {subslot} entity + * show platform hardware chassis rp {rp_state} fan-speed-control-data ''' # Python @@ -1238,3 +1239,61 @@ def cli(self, subslot='', output=None): continue return ret_dict + + +class ShowPlatformHardwareChassisRpFanSpeedControlDataSchema(MetaParser): + """Schema for: + show platform hardware chassis rp {rp_state} fan-speed-control-data + """ + schema = { + 'slots': { + Any(): { + 'type': str, + 'pwm': int, + Optional('io_pwm'): Or(str,int), + } + } + } + + +class ShowPlatformHardwareChassisRpFanSpeedControlData(ShowPlatformHardwareChassisRpFanSpeedControlDataSchema): + """Parser for: + show platform hardware chassis rp {rp_state} fan-speed-control-data + """ + + cli_command = 'show platform hardware chassis rp {rp_state} fan-speed-control-data' + + def cli(self, rp_state='', output=None): + if output is None: + out = self.device.execute(self.cli_command.format(rp_state=rp_state)) + else: + out = output + + ret_dict = {} + + # 1 LC 76 102 + # 5 SUP 76 N/A + p1 = re.compile( + r'^\s*(?P\d+)\s+(?P\S+)\s+(?P\d+)\s+(?P(?:\d+|N/?A))\s*$', + re.IGNORECASE + ) + + for line in out.splitlines(): + line = line.rstrip() + + if not line or line.lstrip().startswith('Slot ') or set(line.strip()) == {'-'}: + continue + + # 1 LC 76 91 + # 3 LC 76 76 + m = p1.match(line) + if m: + slot = int(m.group('slot')) + entry = ret_dict.setdefault('slots', {}).setdefault(slot, {}) + entry['type'] = m.group('type') + entry['pwm'] = int(m.group('pwm')) + entry['io_pwm'] = m.group('io_pwm') + + continue + + return ret_dict \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/show_idprom.py b/src/genie/libs/parser/iosxe/show_idprom.py index be3aef75cb..946e2fc6f5 100644 --- a/src/genie/libs/parser/iosxe/show_idprom.py +++ b/src/genie/libs/parser/iosxe/show_idprom.py @@ -698,3 +698,235 @@ def cli(self, switch_num=None, output=None): return ret_dict + +class ShowIdpromFantrayEepromDetailSchema(MetaParser): + """Schema for show idprom [switch {switch_num}] fan-tray {fantray_num} eeprom detail""" + schema = { + 'eeprom_version': str, + 'compatible_type': str, + 'controller_type': str, + 'hardware_revision': str, + 'top_assy_part_number': str, + 'top_assy_revision': str, + 'pcb_part_number': str, + 'board_revision': str, + 'deviation_number': str, + 'pcb_serial_number': str, + 'chassis_serial_number': str, + 'rma_test_history': str, + 'rma_number': str, + 'rma_history': str, + Optional('clei_code'): str, + 'product_identifier': str, + 'version_identifier': str, + 'chassis_mac_address': str, + 'manufacturing_test_data': str, + 'field_diagnostics_data': str, + } + +class ShowIdpromFantrayEepromDetail(ShowIdpromFantrayEepromDetailSchema): + """ + Parser for: + - show idprom switch {switch_num} fan-tray {fantray_num} eeprom detail + - show idprom fan-tray {fantray_num} eeprom detail + """ + + cli_command = [ + 'show idprom switch {switch_num} fan-tray {fantray_num} eeprom detail', + 'show idprom fan-tray {fantray_num} eeprom detail' + ] + + def cli(self, fantray_num="", switch_num=None, output=None): + if output is None: + if switch_num: + cmd = self.cli_command[0].format(switch_num=switch_num, fantray_num=fantray_num) + else: + cmd = self.cli_command[1].format(fantray_num=fantray_num) + output = self.device.execute(cmd) + + ret_dict = {} + + # EEPROM version : 4 + p1 = re.compile(r'^EEPROM version\s*:\s*(.+)$') + + # Compatible Type : 0xFF + p2 = re.compile(r'^Compatible Type\s*:\s*(.+)$') + + # Controller Type : 4577 + p3 = re.compile(r'^Controller Type\s*:\s*(.+)$') + + # Hardware Revision : 0.5 + p4 = re.compile(r'^Hardware Revision\s*:\s*(.+)$') + + # Top Assy. Part Number : 800-51430-01 + p5 = re.compile(r'^Top Assy\. Part Number\s*:\s*(.+)$') + + # Top Assy. Revision : 05 + p6 = re.compile(r'^Top Assy\. Revision\s*:\s*(.+)$') + + # PCB Part Number : 73-20972-03 + p7 = re.compile(r'^PCB Part Number\s*:\s*(.+)$') + + # Board Revision : 02 + p8 = re.compile(r'^Board Revision\s*:\s*(.+)$') + + # Deviation Number : 0 + p9 = re.compile(r'^Deviation Number\s*:\s*(.+)$') + + # PCB Serial Number : FOX2813PQ4Z + p10 = re.compile(r'^PCB Serial Number\s*:\s*(.+)$') + + # Chassis Serial Number : FOX2813PQ4Z + p11 = re.compile(r'^Chassis Serial Number\s*:\s*(.+)$') + + # RMA Test History : 00 + p12 = re.compile(r'^RMA Test History\s*:\s*(.+)$') + + # RMA Number : 0-0-0-0 + p13 = re.compile(r'^RMA Number\s*:\s*(.+)$') + + # RMA History : 00 + p14 = re.compile(r'^RMA History\s*:\s*(.+)$') + + # CLEI Code : + p15 = re.compile(r'^CLEI Code\s*:\s*(.*)$') + + # Product Identifier (PID) : C9610-FAN + p16 = re.compile(r'^Product Identifier \(PID\)\s*:\s*(.+)$') + + # Version Identifier (VID) : V00 + p17 = re.compile(r'^Version Identifier \(VID\)\s*:\s*(.+)$') + + # Chassis MAC Address : 0000.0000.0000 + p18 = re.compile(r'^Chassis MAC Address\s*:\s*(.+)$') + + # Manufacturing Test Data : 00 00 00 00 00 00 00 00 + p19 = re.compile(r'^Manufacturing Test Data\s*:\s*(.+)$') + + # Field Diagnostics Data : 00 00 00 00 00 00 00 00 + p20 = re.compile(r'^Field Diagnostics Data\s*:\s*(.+)$') + + for line in output.splitlines(): + line = line.strip() + + # EEPROM version : 4 + m = p1.match(line) + if m: + ret_dict['eeprom_version'] = m.group(1) + continue + + # Compatible Type : 0xFF + m = p2.match(line) + if m: + ret_dict['compatible_type'] = m.group(1) + continue + + # Controller Type : 4577 + m = p3.match(line) + if m: + ret_dict['controller_type'] = m.group(1) + continue + + # Hardware Revision : 0.5 + m = p4.match(line) + if m: + ret_dict['hardware_revision'] = m.group(1) + continue + + # Top Assy. Part Number : 800-51430-01 + m = p5.match(line) + if m: + ret_dict['top_assy_part_number'] = m.group(1) + continue + + # Top Assy. Revision : 05 + m = p6.match(line) + if m: + ret_dict['top_assy_revision'] = m.group(1) + continue + + # PCB Part Number : 73-20972-03 + m = p7.match(line) + if m: + ret_dict['pcb_part_number'] = m.group(1) + continue + + # Board Revision : 02 + m = p8.match(line) + if m: + ret_dict['board_revision'] = m.group(1) + continue + + # Deviation Number : 0 + m = p9.match(line) + if m: + ret_dict['deviation_number'] = m.group(1) + continue + + # PCB Serial Number : FOX2813PQ4Z + m = p10.match(line) + if m: + ret_dict['pcb_serial_number'] = m.group(1) + continue + + # Chassis Serial Number : FOX2813PQ4Z + m = p11.match(line) + if m: + ret_dict['chassis_serial_number'] = m.group(1) + continue + + # RMA Test History : 00 + m = p12.match(line) + if m: + ret_dict['rma_test_history'] = m.group(1) + continue + + # RMA Number : 0-0-0-0 + m = p13.match(line) + if m: + ret_dict['rma_number'] = m.group(1) + continue + + # RMA History : 00 + m = p14.match(line) + if m: + ret_dict['rma_history'] = m.group(1) + continue + + # CLEI Code : + m = p15.match(line) + if m: + ret_dict['clei_code'] = m.group(1) + continue + + # Product Identifier (PID) : C9610-FAN + m = p16.match(line) + if m: + ret_dict['product_identifier'] = m.group(1) + continue + + # Version Identifier (VID) : V00 + m = p17.match(line) + if m: + ret_dict['version_identifier'] = m.group(1) + continue + + # Chassis MAC Address : 0000.0000.0000 + m = p18.match(line) + if m: + ret_dict['chassis_mac_address'] = m.group(1) + continue + + # Manufacturing Test Data : 00 00 00 00 00 00 00 00 + m = p19.match(line) + if m: + ret_dict['manufacturing_test_data'] = m.group(1) + continue + + # Field Diagnostics Data : 00 00 00 00 00 00 00 00 + m = p20.match(line) + if m: + ret_dict['field_diagnostics_data'] = m.group(1) + continue + + return ret_dict \ No newline at end of file diff --git a/src/genie/libs/parser/iosxe/show_interface.py b/src/genie/libs/parser/iosxe/show_interface.py index 54eb9d48f5..f9f84e3271 100755 --- a/src/genie/libs/parser/iosxe/show_interface.py +++ b/src/genie/libs/parser/iosxe/show_interface.py @@ -231,7 +231,71 @@ class ShowInterfacesSchema(MetaParser): }, }, Optional('peer_ip'): str, - Optional('vc_id'): int + Optional('vc_id'): int, + Optional('x25'): { + Optional('dte'): bool, + Optional('version'): str, + Optional('address'): str, + Optional('state'): str, + Optional('modulo'): int, + Optional('timer'): int, + Optional('idle_vc_timeout'): int, + Optional('encapsulation'): str, + Optional('input_window_size'): int, + Optional('output_window_size'): int, + Optional('input_packet_size'): int, + Optional('output_packet_size'): int, + Optional('timers'): { + Optional('t20'): int, + Optional('t21'): int, + Optional('t22'): int, + Optional('t23'): int, + }, + Optional('channels'): { + Optional('incoming_only'): str, + Optional('two_way'): str, + Optional('outgoing_only'): str, + }, + Optional('restarts'): str, + Optional('calls'): str, + Optional('diags'): str, + }, + Optional('lapb'): { + Optional('dte'): bool, + Optional('state'): str, + Optional('modulo'): int, + Optional('k'): int, + Optional('n1'): int, + Optional('n2'): int, + Optional('t1'): int, + Optional('t2'): int, + Optional('t3'): int, + Optional('t4'): int, + Optional('vs'): int, + Optional('vr'): int, + Optional('tx_nr'): int, + Optional('remote_vr'): int, + Optional('retransmissions'): int, + Optional('queues'): { + Optional('u_s_frames'): int, + Optional('i_frames'): int, + Optional('unack'): int, + Optional('retx'): int, + }, + Optional('iframes'): str, + Optional('rnrs'): str, + Optional('rejs'): str, + Optional('sabm_es'): str, + Optional('frmrs'): str, + Optional('discs'): str, + }, + Optional('serial_signals'): { + Optional('rts'): str, + Optional('cts'): str, + Optional('dtr'): str, + Optional('dcd'): str, + Optional('dsr'): str, + }, }, } @@ -581,6 +645,45 @@ def cli(self, interface="", include="", output=None): # 0 packets 0 bytes 0 drops p58 = re.compile(r'^(?P\d+) packets (?P\d+) bytes (?P\d+) drops$') + # X.25 DTE, version 1984, address 170091, state R1, modulo 8, timer 0 + p59 = re.compile(r'^X\.25 +(?PDTE), +version +(?P\d+), +address +(?P
\d+), +state +(?P\w+), +modulo +(?P\d+), +timer +(?P\d+)$') + + # Defaults: idle VC timeout 0 + p60 = re.compile(r'^Defaults: +idle +VC +timeout +(?P\d+)$') + + # cisco encapsulation + p61 = re.compile(r'^(?Pcisco) +encapsulation$') + + # input/output window sizes 5/5, packet sizes 128/128 + p62 = re.compile(r'^input/output +window +sizes +(?P\d+)/(?P\d+), +packet +sizes +(?P\d+)/(?P\d+)$') + + # Timers: T20 180, T21 200, T22 180, T23 180 + p63 = re.compile(r'^Timers: +T20 +(?P\d+), +T21 +(?P\d+), +T22 +(?P\d+), +T23 +(?P\d+)$') + + # Channels: Incoming-only none, Two-way 1-1024, Outgoing-only none + p64 = re.compile(r'^Channels: +Incoming-only +(?P\w+), +Two-way +(?P[\d\-]+), +Outgoing-only +(?P\w+)$') + + # RESTARTs 1/0 CALLs 0+0/0+0/0+0 DIAGs 0/0 + p65 = re.compile(r'^RESTARTs +(?P[\d\/]+) +CALLs +(?P[\d\+\/]+) +DIAGs +(?P[\d\/]+)$') + + # LAPB DTE, state CONNECT, modulo 8, k 7, N1 12056, N2 20 + p66 = re.compile(r'^LAPB +(?PDTE), +state +(?P\w+), +modulo +(?P\d+), +k +(?P\d+), +N1 +(?P\d+), +N2 +(?P\d+)$') + + # T1 3000, T2 0, interface outage (partial T3) 0, T4 0 + p67 = re.compile(r'^T1 +(?P\d+), +T2 +(?P\d+), +interface +outage +\(partial +T3\) +(?P\d+), +T4 +(?P\d+)$') + + # VS 1, VR 1, tx NR 1, Remote VR 1, Retransmissions 0 + p68 = re.compile(r'^VS +(?P\d+), +VR +(?P\d+), +tx +NR +(?P\d+), +Remote +VR +(?P\d+), +Retransmissions +(?P\d+)$') + + # Queues: U/S frames 0, I frames 0, unack. 0, reTx 0 + p69 = re.compile(r'^Queues: +U/S +frames +(?P\d+), +I +frames +(?P\d+), +unack\. +(?P\d+), +reTx +(?P\d+)$') + + # IFRAMEs 1/1 RNRs 0/0 REJs 0/0 SABM/Es 0/1 FRMRs 0/0 DISCs 0/0 + p70 = re.compile(r'^IFRAMEs +(?P[\d\/]+) +RNRs +(?P[\d\/]+) +REJs +(?P[\d\/]+) +SABM/Es +(?P[\d\/]+) +FRMRs +(?P[\d\/]+) +DISCs +(?P[\d\/]+)$') + + # RTS up, CTS up, DTR up, DCD up, DSR up + p71 = re.compile(r'^RTS +(?P\w+), +CTS +(?P\w+), +DTR +(?P\w+), +DCD +(?P\w+), +DSR +(?P\w+)$') + interface_dict = {} unnumbered_dict = {} section_name = None @@ -1390,6 +1493,152 @@ def cli(self, interface="", include="", output=None): coutners_dict[f'{direction}_drops'] = int(group['drops']) continue + # X.25 DTE, version 1984, address 170091, state R1, modulo 8, timer 0 + m = p59.match(line) + if m: + group = m.groupdict() + x25_dict = interface_dict[interface].setdefault('x25', {}) + x25_dict['dte'] = True if group['dte'] == 'DTE' else False + x25_dict['version'] = group['version'] + x25_dict['address'] = group['address'] + x25_dict['state'] = group['state'] + x25_dict['modulo'] = int(group['modulo']) + x25_dict['timer'] = int(group['timer']) + continue + + # Defaults: idle VC timeout 0 + m = p60.match(line) + if m: + group = m.groupdict() + x25_dict = interface_dict[interface].setdefault('x25', {}) + x25_dict['idle_vc_timeout'] = int(group['idle_vc_timeout']) + continue + + # cisco encapsulation + m = p61.match(line) + if m: + group = m.groupdict() + x25_dict = interface_dict[interface].setdefault('x25', {}) + x25_dict['encapsulation'] = group['encapsulation'] + continue + + # input/output window sizes 5/5, packet sizes 128/128 + m = p62.match(line) + if m: + group = m.groupdict() + x25_dict = interface_dict[interface].setdefault('x25', {}) + x25_dict['input_window_size'] = int(group['input_window']) + x25_dict['output_window_size'] = int(group['output_window']) + x25_dict['input_packet_size'] = int(group['input_packet']) + x25_dict['output_packet_size'] = int(group['output_packet']) + continue + + # Timers: T20 180, T21 200, T22 180, T23 180 + m = p63.match(line) + if m: + group = m.groupdict() + x25_dict = interface_dict[interface].setdefault('x25', {}) + timers_dict = x25_dict.setdefault('timers', {}) + timers_dict['t20'] = int(group['t20']) + timers_dict['t21'] = int(group['t21']) + timers_dict['t22'] = int(group['t22']) + timers_dict['t23'] = int(group['t23']) + continue + + # Channels: Incoming-only none, Two-way 1-1024, Outgoing-only none + m = p64.match(line) + if m: + group = m.groupdict() + x25_dict = interface_dict[interface].setdefault('x25', {}) + channels_dict = x25_dict.setdefault('channels', {}) + channels_dict['incoming_only'] = group['incoming_only'] + channels_dict['two_way'] = group['two_way'] + channels_dict['outgoing_only'] = group['outgoing_only'] + continue + + # RESTARTs 1/0 CALLs 0+0/0+0/0+0 DIAGs 0/0 + m = p65.match(line) + if m: + group = m.groupdict() + x25_dict = interface_dict[interface].setdefault('x25', {}) + x25_dict['restarts'] = group['restarts'] + x25_dict['calls'] = group['calls'] + x25_dict['diags'] = group['diags'] + continue + + # LAPB DTE, state CONNECT, modulo 8, k 7, N1 12056, N2 20 + m = p66.match(line) + if m: + group = m.groupdict() + lapb_dict = interface_dict[interface].setdefault('lapb', {}) + lapb_dict['dte'] = True if group['dte'] == 'DTE' else False + lapb_dict['state'] = group['state'] + lapb_dict['modulo'] = int(group['modulo']) + lapb_dict['k'] = int(group['k']) + lapb_dict['n1'] = int(group['n1']) + lapb_dict['n2'] = int(group['n2']) + continue + + # T1 3000, T2 0, interface outage (partial T3) 0, T4 0 + m = p67.match(line) + if m: + group = m.groupdict() + lapb_dict = interface_dict[interface].setdefault('lapb', {}) + lapb_dict['t1'] = int(group['t1']) + lapb_dict['t2'] = int(group['t2']) + lapb_dict['t3'] = int(group['t3']) + lapb_dict['t4'] = int(group['t4']) + continue + + # VS 1, VR 1, tx NR 1, Remote VR 1, Retransmissions 0 + m = p68.match(line) + if m: + group = m.groupdict() + lapb_dict = interface_dict[interface].setdefault('lapb', {}) + lapb_dict['vs'] = int(group['vs']) + lapb_dict['vr'] = int(group['vr']) + lapb_dict['tx_nr'] = int(group['tx_nr']) + lapb_dict['remote_vr'] = int(group['remote_vr']) + lapb_dict['retransmissions'] = int(group['retransmissions']) + continue + + # Queues: U/S frames 0, I frames 0, unack. 0, reTx 0 + m = p69.match(line) + if m: + group = m.groupdict() + lapb_dict = interface_dict[interface].setdefault('lapb', {}) + queues_dict = lapb_dict.setdefault('queues', {}) + queues_dict['u_s_frames'] = int(group['u_s_frames']) + queues_dict['i_frames'] = int(group['i_frames']) + queues_dict['unack'] = int(group['unack']) + queues_dict['retx'] = int(group['retx']) + continue + + # IFRAMEs 1/1 RNRs 0/0 REJs 0/0 SABM/Es 0/1 FRMRs 0/0 DISCs 0/0 + m = p70.match(line) + if m: + group = m.groupdict() + lapb_dict = interface_dict[interface].setdefault('lapb', {}) + lapb_dict['iframes'] = group['iframes'] + lapb_dict['rnrs'] = group['rnrs'] + lapb_dict['rejs'] = group['rejs'] + lapb_dict['sabm_es'] = group['sabm_es'] + lapb_dict['frmrs'] = group['frmrs'] + lapb_dict['discs'] = group['discs'] + continue + + # RTS up, CTS up, DTR up, DCD up, DSR up + m = p71.match(line) + if m: + group = m.groupdict() + signals_dict = interface_dict[interface].setdefault('serial_signals', {}) + signals_dict['rts'] = group['rts'] + signals_dict['cts'] = group['cts'] + signals_dict['dtr'] = group['dtr'] + signals_dict['dcd'] = group['dcd'] + signals_dict['dsr'] = group['dsr'] + continue + # create strucutre for unnumbered interface if not unnumbered_dict: return (interface_dict) @@ -4682,7 +4931,9 @@ def cli(self, output=None): # GLC-FE-100FX-RGD ALL # GLC-SX-MM NONE - p2 = re.compile(r"^(?P[\w-]+)\s+(?P(ALL|NONE))") + p2 = re.compile(r"^(?P[\w-]+)\s+(?P.+)$") + + transceiver_dict = {} for line in out.splitlines(): line = line.strip() @@ -4691,14 +4942,17 @@ def cli(self, output=None): m1 = p1.match(line) if m1: transceiver_dict = transceivers_supported_list.setdefault('transceiver_type',{}) + continue # GLC-FE-100FX-RGD ALL # GLC-SX-MM NONE + # GLC-SX-MM-RGD CPN 2274-02 m2 = p2.match(line) if m2: transceiver_dict.update({m2.groupdict()['transceiver'] : { "cisco_pin_min_version_supporting_dom" : m2.groupdict()['pin_version']}}) + continue return transceivers_supported_list @@ -5343,16 +5597,16 @@ class ShowInterfaceEtherchannelSchema(MetaParser): """Schema for show interface {interface_id} etherchannel""" schema = { - 'port_state': str, - 'channel_group': int, - 'mode': str, - 'gcchange': str, - 'port_channel': str, - 'gc': str, - 'pseudo_port_channel': str, - 'port_index': int, - 'load': str, - 'protocol': str, + Optional('port_state'): str, + Optional('channel_group'): int, + Optional('mode'): str, + Optional('gcchange'): str, + Optional('port_channel'): str, + Optional('gc'): str, + Optional('pseudo_port_channel'): str, + Optional('port_index'): int, + Optional('load'): str, + Optional('protocol'): str, Optional('flags'): { str: str }, @@ -5366,7 +5620,35 @@ class ShowInterfaceEtherchannelSchema(MetaParser): 'port_number': str, 'port_state': str, }, - 'port_age': str + Optional('port_age'): str, + Optional('all_idbs_list'): { + 'total_configured_interfaces': int, + 'interfaces': { + Any(): { + 'interface': str, + 'index': int + } + } + }, + Optional('active_member_list'): { + 'total_interfaces': int, + 'interfaces': { + Any(): { + 'interface': str, + 'lacp_mode': str + } + } + }, + Optional('passive_member_list'): { + 'total_interfaces': int, + }, + Optional('load_balancing_method'): str, + Optional('bucket_information'): { + Any(): { + 'interface': str, + 'buckets': list + } + } } # ====================================================== @@ -5403,8 +5685,33 @@ def cli(self, interface_id, output=None): r'\s+(?P\w+)\s+(?P\w+)\s+(?P\w+)\s+(?P\w+)$') #Age of the port in the current state: 0d:00h:00m:29s p7 = re.compile(r'^Age of the port in the current state:\s+(?P\S+)$') + + # New patterns for Port-channel etherchannel output + # All IDBs List contains 4 configured interfaces + p8 = re.compile(r'^All IDBs List contains (?P\d+) configured interfaces$') + # Port: TenGigabitEthernet0/0/0 (index: 0) + p9 = re.compile(r'^\s*Port:\s+(?P\S+)\s+\(index:\s+(?P\d+)\)$') + # Active Member List contains 4 interfaces + p10 = re.compile(r'^Active Member List contains (?P\d+) interfaces$') + # Port: TenGigabitEthernet0/0/0 + p11 = re.compile(r'^\s*Port:\s+(?P\S+)$') + # LACP Mode: Active + p12 = re.compile(r'^\s*LACP Mode:\s+(?P\w+)$') + # Passive Member List contains 0 interfaces + p13 = re.compile(r'^Passive Member List contains (?P\d+) interfaces$') + # Load-Balancing method applied: flow-based + p14 = re.compile(r'^Load-Balancing method applied:\s+(?P[\w-]+)$') + # Bucket Information for Flow-Based LB: + p15 = re.compile(r'^Bucket Information for Flow-Based LB:$') + # TenGigabitEthernet0/0/0: + p16 = re.compile(r'^\s*(?P\S+):$') + # Bucket 0 , Bucket 1 , Bucket 2 , Bucket 3 + p17 = re.compile(r'^\s*(?PBucket\s+\d+(?:\s*,\s*Bucket\s+\d+)*)$') ret_dict = {} + current_section = None + current_active_member = None + bucket_section = False for line in output.splitlines(): line = line.strip() @@ -5486,6 +5793,99 @@ def cli(self, interface_id, output=None): ret_dict['port_age'] = group['age_of_port'] continue + # All IDBs List contains 4 configured interfaces + m = p8.match(line) + if m: + group = m.groupdict() + all_idbs_dict = ret_dict.setdefault('all_idbs_list', {}) + all_idbs_dict['total_configured_interfaces'] = int(group['total']) + all_idbs_dict.setdefault('interfaces', {}) + current_section = 'all_idbs' + continue + + # Port: TenGigabitEthernet0/0/0 (index: 0) + m = p9.match(line) + if m and current_section == 'all_idbs': + group = m.groupdict() + interface_name = group['interface'] + interface_dict = ret_dict['all_idbs_list']['interfaces'].setdefault(interface_name, {}) + interface_dict['interface'] = interface_name + interface_dict['index'] = int(group['index']) + continue + + # Active Member List contains 4 interfaces + m = p10.match(line) + if m: + group = m.groupdict() + active_member_dict = ret_dict.setdefault('active_member_list', {}) + active_member_dict['total_interfaces'] = int(group['total']) + active_member_dict.setdefault('interfaces', {}) + current_section = 'active_members' + continue + + # Port: TenGigabitEthernet0/0/0 + m = p11.match(line) + if m and current_section == 'active_members': + group = m.groupdict() + interface_name = group['interface'] + current_active_member = interface_name + interface_dict = ret_dict['active_member_list']['interfaces'].setdefault(interface_name, {}) + interface_dict['interface'] = interface_name + continue + + # LACP Mode: Active + m = p12.match(line) + if m and current_active_member: + group = m.groupdict() + ret_dict['active_member_list']['interfaces'][current_active_member]['lacp_mode'] = group['lacp_mode'] + continue + + # Passive Member List contains 0 interfaces + m = p13.match(line) + if m: + group = m.groupdict() + passive_member_dict = ret_dict.setdefault('passive_member_list', {}) + passive_member_dict['total_interfaces'] = int(group['total']) + current_section = 'passive_members' + continue + + # Load-Balancing method applied: flow-based + m = p14.match(line) + if m: + group = m.groupdict() + ret_dict['load_balancing_method'] = group['method'] + continue + + # Bucket Information for Flow-Based LB: + m = p15.match(line) + if m: + bucket_section = True + ret_dict.setdefault('bucket_information', {}) + continue + + # TenGigabitEthernet0/0/0: + m = p16.match(line) + if m and bucket_section: + group = m.groupdict() + interface_name = group['interface'] + bucket_dict = ret_dict['bucket_information'].setdefault(interface_name, {}) + bucket_dict['interface'] = interface_name + current_bucket_interface = interface_name + continue + + # Bucket 0 , Bucket 1 , Bucket 2 , Bucket 3 + m = p17.match(line) + if m and bucket_section and 'current_bucket_interface' in locals(): + group = m.groupdict() + bucket_list = [] + buckets_text = group['buckets'] + # Parse individual buckets + bucket_matches = re.findall(r'Bucket\s+(\d+)', buckets_text) + for bucket_num in bucket_matches: + bucket_list.append(int(bucket_num)) + ret_dict['bucket_information'][current_bucket_interface]['buckets'] = bucket_list + continue + return ret_dict diff --git a/src/genie/libs/parser/iosxe/show_ip_bgp.py b/src/genie/libs/parser/iosxe/show_ip_bgp.py index 1d2b8f2924..254a5dcadc 100644 --- a/src/genie/libs/parser/iosxe/show_ip_bgp.py +++ b/src/genie/libs/parser/iosxe/show_ip_bgp.py @@ -48,6 +48,8 @@ * show ip bgp {address_family} vrf {vrf} {route} * show ip bgp {address_family} rd {rd} {route} * show ip bgp {address_family} vrf {vrf} neighbors {neighbor} advertised-routes + * show ip bgp neighbors {neighbor} received prefix-filter + * show ip bgp {address_family} vrf {vrf} neighbors {neighbor} received prefix-filter """ # Python @@ -1660,3 +1662,106 @@ def cli(self, output=None, address_family='', vrf=''): # Call Super return super().cli(output=output, address_family=address_family, vrf=vrf) +# =================================================================================== +# show ip bgp neighbors {neighbor} received prefix-filter +# show ip bgp {address_family} vrf {vrf} neighbors {neighbor} received prefix-filter +# =================================================================================== + +class ShowIpBgpNeighborReceivedPrefixFilterSchema(MetaParser): + """Schema for: + * 'show ip bgp neighbors {neighbor} received prefix-filter' + * 'show ip bgp {address_family} vrf {vrf} neighbors {neighbor} received prefix-filter' + """ + schema = { + 'address_family': { + Any(): { + 'ip_prefix_list': { + Any(): { + 'entries': int, + 'sequences': { + Any(): { + 'action': str, + 'prefix': str, + }, + }, + }, + }, + }, + }, + } + +class ShowIpBgpNeighborReceivedPrefixFilter(ShowIpBgpNeighborReceivedPrefixFilterSchema): + """Parser for: + * 'show ip bgp neighbors {neighbor} received prefix-filter' + * 'show ip bgp {address_family} vrf {vrf} neighbors {neighbor} received prefix-filter' + """ + + cli_command = ['show ip bgp {address_family} vrf {vrf} neighbors {neighbor} received prefix-filter', + 'show ip bgp neighbors {neighbor} received prefix-filter', + ] + + def cli(self, neighbor=None, address_family='', vrf='', output=None): + + if output is None: + # Build command + + if address_family and vrf: + cmd = self.cli_command[0].format(neighbor=neighbor, + address_family=address_family, + vrf=vrf) + else: + cmd = self.cli_command[1].format(neighbor=neighbor) + # Execute command + output = self.device.execute(cmd) + + # Schema initialization + result_dict = {} + + # Regex patterns for parsing lines + #Address family: IPv4 Unicast + p1 = re.compile(r'^\s*Address +family: +(?P[\S\s]+)$') + #ip prefix-list 3.3.3.3: 3 entries + p2 = re.compile(r'^\s*ip +prefix-list +(?P[\S\s]+): +(?P\d+) +entries$') + #seq 10 permit 3.3.3.0/24 + p3 = re.compile(r'^\s*seq +(?P\d+) +(?P\S+) +(?P[\d\.\/]+)$') + + # Variables for current context + address_family = None + ip_prefix_list = None + + for line in output.splitlines(): + line = line.strip() + + # Address family: IPv4 Unicast + m = p1.match(line) + if m: + address_family = m.group('address_family') + result_dict.setdefault('address_family', {}).setdefault(address_family, {}) + continue + + # ip prefix-list 3.3.3.3: 3 entries + m = p2.match(line) + if m: + ip_prefix_list = m.group('ip_prefix_list') + entries = int(m.group('entries')) + af_dict = result_dict['address_family'][address_family] + af_dict.setdefault('ip_prefix_list', {}).setdefault(ip_prefix_list, { + 'entries': entries, + 'sequences': {}, + }) + continue + + # seq 10 permit 3.3.3.0/24 + m = p3.match(line) + if m: + seq = int(m.group('seq')) + action = m.group('action') + prefix = m.group('prefix') + seq_dict = result_dict['address_family'][address_family]['ip_prefix_list'][ip_prefix_list]['sequences'] + seq_dict[seq] = { + 'action': action, + 'prefix': prefix, + } + continue + + return result_dict diff --git a/src/genie/libs/parser/iosxe/show_ipv6.py b/src/genie/libs/parser/iosxe/show_ipv6.py index 12fc79028c..dda49646a6 100755 --- a/src/genie/libs/parser/iosxe/show_ipv6.py +++ b/src/genie/libs/parser/iosxe/show_ipv6.py @@ -42,6 +42,7 @@ * sh ipv6 mfib FF03::1:1:1 count * sh ipv6 mfib FF03::1:1:1 10::1:1:200 count * show ipv6 virtual-reassembly features + * show ipv6 mfib {group} active """ # Python @@ -3206,3 +3207,78 @@ def cli(self, output=None): continue return result_dict + +# ============================================================================== +# Schema and Parser for 'show ipv6 mfib {group} active' +# ============================================================================== + +class ShowIpv6MfibGroupActiveSchema(MetaParser): + """Schema for show ipv6 mfib {group} active""" + schema = { + 'active_multicast_sources': { + 'threshold_kbps': int, + Optional('sources'): { + Any(): { # Source IP address + 'group': str, + 'rate_kbps': int, + Optional('interface'): str, + } + } + } + } + +class ShowIpv6MfibGroupActive(ShowIpv6MfibGroupActiveSchema): + """Parser for show ipv6 mfib {group} active""" + + cli_command = 'show ipv6 mfib {group} active' + + def cli(self, group="", output=None): + if output is None: + cmd = self.cli_command.format(group=group) + output = self.device.execute(cmd) + + ret = {} + + # Active Multicast Sources - sending >= 4 kbps + p1 = re.compile(r'^Active Multicast Sources - sending >= (?P\d+) kbps$') + + # Default + p2 = re.compile(r'^(?PDefault)$') + + # (2001:DB8::1, FF03::1:1:1) 100 kbps GigabitEthernet0/0/1 + p3 = re.compile(r'\((?P[0-9A-Fa-f:]+),\s*(?P[0-9A-Fa-f:]+)\)\s+(?P\d+)\s*kbps(?:\s+(?P\S+))?') + + lines = output.strip().splitlines() + + for line in lines: + # Active Multicast Sources - sending >= 4 kbps + m = p1.match(line) + if m: + threshold = int(m.group('unit')) + active_dict = ret.setdefault('active_multicast_sources', {}) + active_dict['threshold_kbps'] = threshold + continue + + # Parse VRF line + # Default + m = p2.match(line) + if m: + continue + + # (2001:DB8::1, FF03::1:1:1) 100 kbps GigabitEthernet0/0/1 + m = p3.match(line) + if m: + source_ip = m.group('source_ip').strip() + group_ip = m.group('group_ip').strip() + rate = int(m.group('rate')) + interface = m.group('interface') + vrf_dict = ret['active_multicast_sources'] + sources = vrf_dict.setdefault('sources', {}) + source_dict = sources.setdefault(source_ip, {}) + source_dict['group'] = group_ip + source_dict['rate_kbps'] = rate + if interface: + source_dict['interface'] = interface + continue + + return ret diff --git a/src/genie/libs/parser/iosxe/show_l2tp.py b/src/genie/libs/parser/iosxe/show_l2tp.py index 9f6f25fa55..10cc8d09ff 100644 --- a/src/genie/libs/parser/iosxe/show_l2tp.py +++ b/src/genie/libs/parser/iosxe/show_l2tp.py @@ -210,3 +210,151 @@ def cli(self, vcid='', output=None): # Call super return super().cli(output=show_output) + +# ======================================================= +# Schema for 'show l2tp' +# ======================================================= +class ShowL2tpSchema(MetaParser): + """Schema for show l2tp""" + + schema = { + 'total_tunnels': int, + 'total_sessions': int, + Optional('tunnels'): { + Any(): { + 'loc_tunnel_id': int, + 'rem_tunnel_id': int, + 'remote_name': str, + 'state': str, + 'remote_address': str, + 'session_count': int, + 'l2tp_class_vpdn_group': str, + Optional('sessions'): { + Any(): { + 'loc_id': int, + 'rem_id': int, + 'tunnel_id': int, + 'username': str, + 'interface_vcid_circuit': str, + 'state': str, + 'last_change': str, + 'unique_id': int, + } + } + } + } + } + + +# ======================================================= +# Parser for 'show l2tp' +# ======================================================= +class ShowL2tp(ShowL2tpSchema): + """Parser for show l2tp""" + + cli_command = 'show l2tp' + + def cli(self, output=None): + if output is None: + output = self.device.execute(self.cli_command) + + # Initialize return dictionary + ret_dict = {} + + # Regex patterns + # L2TP Tunnel and Session Information Total tunnels 1 sessions 1 + p1 = re.compile(r'^L2TP Tunnel and Session Information Total tunnels (?P\d+) sessions (?P\d+)$') + + # 3217474068 2611998623 fg4 est 100.3.1.1 1 l2tp_class_1 + p2 = re.compile( + r'^(?P\d+)\s+' + r'(?P\d+)\s+' + r'(?P\S+)\s+' + r'(?P\S+)\s+' + r'(?P\S+)\s+' + r'(?P\d+)\s+' + r'(?P\S+)$' + ) + + # 2409671146 3648835555 3217474068 101, Gi0/0/0 est 00:00:22 0 + p3 = re.compile( + r'^(?P\d+)\s+' + r'(?P\d+)\s+' + r'(?P\d+)\s+' + r'(?P[^,]+),\s+' + r'(?P\S+)\s+' + r'(?P\S+)\s+' + r'(?P\S+)\s+' + r'(?P\d+)$' + ) + + current_tunnel_id = None + session_counter = {} + + for line in output.splitlines(): + line = line.strip() + + # Skip empty lines + if not line: + continue + + # Parse total tunnels and sessions + # L2TP Tunnel and Session Information Total tunnels 1 sessions 1 + m = p1.match(line) + if m: + ret_dict['total_tunnels'] = int(m.group('total_tunnels')) + ret_dict['total_sessions'] = int(m.group('total_sessions')) + continue + + # Parse tunnel information + # 3217474068 2611998623 fg4 est 100.3.1.1 1 l2tp_class_1 + m = p2.match(line) + if m: + tunnel_id = m.group('loc_tunnel_id') + current_tunnel_id = tunnel_id + session_counter[tunnel_id] = 0 + + tunnels_dict = ret_dict.setdefault('tunnels', {}) + tunnel_dict = tunnels_dict.setdefault(tunnel_id, {}) + + tunnel_dict['loc_tunnel_id'] = int(m.group('loc_tunnel_id')) + tunnel_dict['rem_tunnel_id'] = int(m.group('rem_tunnel_id')) + tunnel_dict['remote_name'] = m.group('remote_name') + tunnel_dict['state'] = m.group('state') + tunnel_dict['remote_address'] = m.group('remote_address') + tunnel_dict['session_count'] = int(m.group('session_count')) + tunnel_dict['l2tp_class_vpdn_group'] = m.group('l2tp_class_vpdn_group') + continue + + # Parse session information + # 2409671146 3648835555 3217474068 101, Gi0/0/0 est 00:00:22 0 + m = p3.match(line) + if m and current_tunnel_id: + tunnel_id_from_session = m.group('tunnel_id') + + # Find the correct tunnel for this session + tunnel_key = None + for t_key, t_data in ret_dict.get('tunnels', {}).items(): + if str(t_data['loc_tunnel_id']) == tunnel_id_from_session: + tunnel_key = t_key + break + + if tunnel_key: + session_counter.setdefault(tunnel_key, 0) + session_counter[tunnel_key] += 1 + session_key = f"session_{session_counter[tunnel_key]}" + + sessions_dict = ret_dict['tunnels'][tunnel_key].setdefault('sessions', {}) + session_dict = sessions_dict.setdefault(session_key, {}) + + session_dict['loc_id'] = int(m.group('loc_id')) + session_dict['rem_id'] = int(m.group('rem_id')) + session_dict['tunnel_id'] = int(m.group('tunnel_id')) + session_dict['username'] = m.group('username').strip() + session_dict['interface_vcid_circuit'] = m.group('interface_vcid_circuit') + session_dict['state'] = m.group('state') + session_dict['last_change'] = m.group('last_change') + session_dict['unique_id'] = int(m.group('unique_id')) + continue + + return ret_dict diff --git a/src/genie/libs/parser/iosxe/show_mka_sessions.py b/src/genie/libs/parser/iosxe/show_mka_sessions.py index 2ed2c6b3d5..8f96a8f143 100644 --- a/src/genie/libs/parser/iosxe/show_mka_sessions.py +++ b/src/genie/libs/parser/iosxe/show_mka_sessions.py @@ -5,6 +5,7 @@ * show mka sessions interface {interface} * show mka sessions interface {interface} detail * show macsec interface {interface} + * show mka session detail ''' # Python import re @@ -2224,3 +2225,512 @@ def cli(self, output=None): int_list.extend(group["interfaces"].split()) continue return ret_dict + +# ============================================== +# Schema for 'show mka session detail' +# ============================================== +class ShowMkaSessionDetailSchema(MetaParser): + """Schema for show mka session detail""" + schema = { + 'status': str, + 'status_description': str, + 'local_tx_sci': str, + 'interface_mac_address': str, + 'mka_port_identifier': int, + 'interface_name': str, + Optional('audit_session_id'): str, + 'cak_name_ckn': str, + 'member_identifier_mi': str, + 'message_number_mn': int, + 'eap_role': str, + 'key_server': str, + 'mka_cipher_suite': str, + 'latest_sak_status': str, + 'latest_sak_an': int, + 'latest_sak_ki_kn': str, + 'latest_sak_ki_number': int, + 'old_sak_status': str, + 'old_sak_an': int, + 'old_sak_ki_kn': str, + 'old_sak_ki_number': int, + 'sak_transmit_wait_time': str, + 'sak_transmit_wait_description': str, + 'sak_retire_time': str, + 'sak_retire_description': str, + 'sak_rekey_time': str, + 'sak_rekey_description': str, + 'mka_policy_name': str, + 'key_server_priority': int, + 'delay_protection': str, + 'delay_protection_timer': str, + 'delay_protection_timer_description': str, + 'confidentiality_offset': int, + 'algorithm_agility': str, + 'sak_rekey_on_live_peer_loss': str, + 'send_secure_announcement': str, + 'sci_based_ssci_computation': str, + 'sak_cipher_suite': str, + 'sak_cipher_suite_description': str, + 'macsec_capability': int, + 'macsec_capability_description': str, + 'macsec_desired': str, + 'num_macsec_capable_live_peers': int, + 'num_macsec_capable_live_peers_responded': int, + Optional('live_peers'): { + Any(): { + 'mi': str, + 'mn': int, + 'rx_sci_peer': str, + 'ks_priority': int, + 'rxsa_installed': str, + 'ssci': int, + } + }, + Optional('potential_peers'): { + Any(): { + 'mi': str, + 'mn': int, + 'rx_sci_peer': str, + 'ks_priority': int, + 'rxsa_installed': str, + 'ssci': int, + } + } + } + + +# ============================================== +# Parser for 'show mka session detail' +# ============================================== +class ShowMkaSessionDetail(ShowMkaSessionDetailSchema): + """Parser for show mka session detail""" + cli_command = 'show mka session detail' + + def cli(self, output=None): + if output is None: + output = self.device.execute(self.cli_command) + + # Initialize return dictionary + ret_dict = {} + + # Status: SECURED - Secured MKA Session with MACsec + p1 = re.compile(r'^Status:\s+(?P\S+)\s+-\s+(?P.+)$') + + # Local Tx-SCI............. 0027.907a.4411/0028 + p2 = re.compile(r'^Local Tx-SCI\.+\s+(?P\S+)$') + + # Interface MAC Address.... 0027.907a.4411 + p3 = re.compile(r'^Interface MAC Address\.+\s+(?P\S+)$') + + # MKA Port Identifier...... 40 + p4 = re.compile(r'^MKA Port Identifier\.+\s+(?P\d+)$') + + # Interface Name........... GigabitEthernet0/0/1.101 + p5 = re.compile(r'^Interface Name\.+\s+(?P\S+)$') + + # Audit Session ID......... + p6 = re.compile(r'^Audit Session ID\.+\s*(?P\S*)$') + + # CAK Name (CKN)........... 01 + p7 = re.compile(r'^CAK Name \(CKN\)\.+\s+(?P\S+)$') + + # Member Identifier (MI)... 7D04809825DDBB4FE461BBF1 + p8 = re.compile(r'^Member Identifier \(MI\)\.+\s+(?P\S+)$') + + # Message Number (MN)...... 110 + p9 = re.compile(r'^Message Number \(MN\)\.+\s+(?P\d+)$') + + # EAP Role................. NA + p10 = re.compile(r'^EAP Role\.+\s+(?P\S+)$') + + # Key Server............... YES + p11 = re.compile(r'^Key Server\.+\s+(?P\S+)$') + + # MKA Cipher Suite......... AES-128-CMAC + p12 = re.compile(r'^MKA Cipher Suite\.+\s+(?P.+)$') + + # Latest SAK Status........ Rx & Tx + p13 = re.compile(r'^Latest SAK Status\.+\s+(?P.+)$') + + # Latest SAK AN............ 1 + p14 = re.compile(r'^Latest SAK AN\.+\s+(?P\d+)$') + + # Latest SAK KI (KN)....... 7D04809825DDBB4FE461BBF100000002 (2) + p15 = re.compile(r'^Latest SAK KI \(KN\)\.+\s+(?P\S+)\s+\((?P\d+)\)$') + + # Old SAK Status........... No Rx, No Tx + p16 = re.compile(r'^Old SAK Status\.+\s+(?P.+)$') + + # Old SAK AN............... 0 + p17 = re.compile(r'^Old SAK AN\.+\s+(?P\d+)$') + + # Old SAK KI (KN).......... RETIRED (1) + p18 = re.compile(r'^Old SAK KI \(KN\)\.+\s+(?P\S+)\s+\((?P\d+)\)$') + + # SAK Transmit Wait Time... 0s (Not waiting for any peers to respond) + p19 = re.compile(r'^SAK Transmit Wait Time\.+\s+(?P\S+)\s+\((?P[^)]+)\)$') + + # SAK Retire Time.......... 0s (No Old SAK to retire) + p20 = re.compile(r'^SAK Retire Time\.+\s+(?P\S+)\s+\((?P[^)]+)\)$') + + # SAK Rekey Time........... 0s (SAK Rekey interval not applicable) + p21 = re.compile(r'^SAK Rekey Time\.+\s+(?P\S+)\s+\((?P[^)]+)\)$') + + # MKA Policy Name.......... *DEFAULT POLICY* + p22 = re.compile(r'^MKA Policy Name\.+\s+(?P.+)$') + + # Key Server Priority...... 0 + p23 = re.compile(r'^Key Server Priority\.+\s+(?P\d+)$') + + # Delay Protection......... NO + p24 = re.compile(r'^Delay Protection\.+\s+(?P\S+)$') + + # Delay Protection Timer.......... 0s (Not enabled) + p25 = re.compile(r'^Delay Protection Timer\.+\s+(?P\S+)\s+\((?P[^)]+)\)$') + + # Confidentiality Offset... 0 + p26 = re.compile(r'^Confidentiality Offset\.+\s+(?P\d+)$') + + # Algorithm Agility........ 80C201 + p27 = re.compile(r'^Algorithm Agility\.+\s+(?P\S+)$') + + # SAK Rekey On Live Peer Loss........ NO + p28 = re.compile(r'^SAK Rekey On Live Peer Loss\.+\s+(?P\S+)$') + + # Send Secure Announcement.. DISABLED + p29 = re.compile(r'^Send Secure Announcement\.+\s+(?P\S+)$') + + # SCI Based SSCI Computation.... NO + p30 = re.compile(r'^SCI Based SSCI Computation\.+\s+(?P\S+)$') + + # SAK Cipher Suite......... 0080C20001000001 (GCM-AES-128) + p31 = re.compile(r'^SAK Cipher Suite\.+\s+(?P\S+)\s+\((?P[^)]+)\)$') + + # MACsec Capability........ 3 (MACsec Integrity, Confidentiality, & Offset) + p32 = re.compile(r'^MACsec Capability\.+\s+(?P\d+)\s+\((?P[^)]+)\)$') + + # MACsec Desired........... YES + p33 = re.compile(r'^MACsec Desired\.+\s+(?P\S+)$') + + # # of MACsec Capable Live Peers............ 1 + p34 = re.compile(r'^# of MACsec Capable Live Peers\.+\s+(?P\d+)$') + + # # of MACsec Capable Live Peers Responded.. 1 + p35 = re.compile(r'^# of MACsec Capable Live Peers Responded\.+\s+(?P\d+)$') + + # Live Peers List: + p36 = re.compile(r'^Live Peers List:$') + + # Potential Peers List: + p37 = re.compile(r'^Potential Peers List:$') + + # Header line for peers table + # MI MN Rx-SCI (Peer) KS RxSA SSCI + p38 = re.compile(r'^\s*MI\s+MN\s+Rx-SCI \(Peer\)\s+KS\s+RxSA\s+SSCI$') + + # Separator line + # --------------------------------------------------------------------------------------- + p39 = re.compile(r'^-+$') + + # 1FD19F41DB6E84AF249521FA 67 b4a8.b9a4.9f31/0025 10 YES 0 + p40 = re.compile(r'^(?P[0-9A-F]+)\s+(?P\d+)\s+(?P\S+)\s+(?P\d+)\s+(?P\S+)\s+(?P\d+)$') + + current_peers_section = None + peer_counter = {'live': 0, 'potential': 0} + + for line in output.splitlines(): + line = line.strip() + + # Skip empty lines and separators + if not line or p38.match(line) or p39.match(line): + continue + + # Parse status + # Status: SECURED - Secured MKA Session with MACsec + m = p1.match(line) + if m: + ret_dict['status'] = m.group('status') + ret_dict['status_description'] = m.group('status_description') + continue + + # Parse Local Tx-SCI + # Local Tx-SCI............. 0027.907a.4411/0028 + m = p2.match(line) + if m: + ret_dict['local_tx_sci'] = m.group('local_tx_sci') + continue + + # Parse Interface MAC Address + # Interface MAC Address.... 0027.907a.4411 + m = p3.match(line) + if m: + ret_dict['interface_mac_address'] = m.group('interface_mac_address') + continue + + # Parse MKA Port Identifier + # MKA Port Identifier...... 40 + m = p4.match(line) + if m: + ret_dict['mka_port_identifier'] = int(m.group('mka_port_identifier')) + continue + + # Parse Interface Name + # Interface Name........... GigabitEthernet0/0/1.101 + m = p5.match(line) + if m: + ret_dict['interface_name'] = m.group('interface_name') + continue + + # Parse Audit Session ID + # Audit Session ID......... + m = p6.match(line) + if m: + audit_id = m.group('audit_session_id') + if audit_id: + ret_dict['audit_session_id'] = audit_id + continue + + # Parse CAK Name + # CAK Name (CKN)........... 01 + m = p7.match(line) + if m: + ret_dict['cak_name_ckn'] = m.group('cak_name_ckn') + continue + + # Parse Member Identifier + # Member Identifier (MI)... 7D04809825DDBB4FE461BBF1 + m = p8.match(line) + if m: + ret_dict['member_identifier_mi'] = m.group('member_identifier_mi') + continue + + # Parse Message Number + # Message Number (MN)...... 110 + m = p9.match(line) + if m: + ret_dict['message_number_mn'] = int(m.group('message_number_mn')) + continue + + # Parse EAP Role + # EAP Role................. NA + m = p10.match(line) + if m: + ret_dict['eap_role'] = m.group('eap_role') + continue + + # Parse Key Server + # Key Server............... YES + m = p11.match(line) + if m: + ret_dict['key_server'] = m.group('key_server') + continue + + # Parse MKA Cipher Suite + # MKA Cipher Suite......... AES-128-CMAC + m = p12.match(line) + if m: + ret_dict['mka_cipher_suite'] = m.group('mka_cipher_suite') + continue + + # Parse Latest SAK Status + # Latest SAK Status........ Rx & Tx + m = p13.match(line) + if m: + ret_dict['latest_sak_status'] = m.group('latest_sak_status') + continue + + # Parse Latest SAK AN + # Latest SAK AN............ 1 + m = p14.match(line) + if m: + ret_dict['latest_sak_an'] = int(m.group('latest_sak_an')) + continue + + # Parse Latest SAK KI + # Latest SAK KI (KN)....... 7D04809825DDBB4FE461BBF100000002 (2) + m = p15.match(line) + if m: + ret_dict['latest_sak_ki_kn'] = m.group('latest_sak_ki_kn') + ret_dict['latest_sak_ki_number'] = int(m.group('latest_sak_ki_number')) + continue + + # Parse Old SAK Status + # Old SAK Status........... No Rx, No Tx + m = p16.match(line) + if m: + ret_dict['old_sak_status'] = m.group('old_sak_status') + continue + + # Parse Old SAK AN + # Old SAK AN............... 0 + m = p17.match(line) + if m: + ret_dict['old_sak_an'] = int(m.group('old_sak_an')) + continue + + # Parse Old SAK KI + # Old SAK KI (KN).......... RETIRED (1) + m = p18.match(line) + if m: + ret_dict['old_sak_ki_kn'] = m.group('old_sak_ki_kn') + ret_dict['old_sak_ki_number'] = int(m.group('old_sak_ki_number')) + continue + + # Parse SAK Transmit Wait Time + # SAK Transmit Wait Time... 0s (Not waiting for any peers to respond) + m = p19.match(line) + if m: + ret_dict['sak_transmit_wait_time'] = m.group('sak_transmit_wait_time') + ret_dict['sak_transmit_wait_description'] = m.group('sak_transmit_wait_description') + continue + + # Parse SAK Retire Time + # SAK Retire Time.......... 0s (No Old SAK to retire) + m = p20.match(line) + if m: + ret_dict['sak_retire_time'] = m.group('sak_retire_time') + ret_dict['sak_retire_description'] = m.group('sak_retire_description') + continue + + # Parse SAK Rekey Time + # SAK Rekey Time........... 0s (SAK Rekey interval not applicable) + m = p21.match(line) + if m: + ret_dict['sak_rekey_time'] = m.group('sak_rekey_time') + ret_dict['sak_rekey_description'] = m.group('sak_rekey_description') + continue + + # Parse MKA Policy Name + # MKA Policy Name.......... *DEFAULT POLICY* + m = p22.match(line) + if m: + ret_dict['mka_policy_name'] = m.group('mka_policy_name') + continue + + # Parse Key Server Priority + # Key Server Priority...... 0 + m = p23.match(line) + if m: + ret_dict['key_server_priority'] = int(m.group('key_server_priority')) + continue + + # Parse Delay Protection + # Delay Protection......... NO + m = p24.match(line) + if m: + ret_dict['delay_protection'] = m.group('delay_protection') + continue + + # Parse Delay Protection Timer + # Delay Protection Timer.......... 0s (Not enabled) + m = p25.match(line) + if m: + ret_dict['delay_protection_timer'] = m.group('delay_protection_timer') + ret_dict['delay_protection_timer_description'] = m.group('delay_protection_timer_description') + continue + + # Parse Confidentiality Offset + # Confidentiality Offset... 0 + m = p26.match(line) + if m: + ret_dict['confidentiality_offset'] = int(m.group('confidentiality_offset')) + continue + + # Parse Algorithm Agility + # Algorithm Agility........ 80C201 + m = p27.match(line) + if m: + ret_dict['algorithm_agility'] = m.group('algorithm_agility') + continue + + # Parse SAK Rekey On Live Peer Loss + # SAK Rekey On Live Peer Loss........ NO + m = p28.match(line) + if m: + ret_dict['sak_rekey_on_live_peer_loss'] = m.group('sak_rekey_on_live_peer_loss') + continue + + # Parse Send Secure Announcement + # Send Secure Announcement.. DISABLED + m = p29.match(line) + if m: + ret_dict['send_secure_announcement'] = m.group('send_secure_announcement') + continue + + # Parse SCI Based SSCI Computation + # SCI Based SSCI Computation.... NO + m = p30.match(line) + if m: + ret_dict['sci_based_ssci_computation'] = m.group('sci_based_ssci_computation') + continue + + # Parse SAK Cipher Suite + # SAK Cipher Suite......... 0080C20001000001 (GCM-AES-128) + m = p31.match(line) + if m: + ret_dict['sak_cipher_suite'] = m.group('sak_cipher_suite') + ret_dict['sak_cipher_suite_description'] = m.group('sak_cipher_suite_description') + continue + + # Parse MACsec Capability + # MACsec Capability........ 3 (MACsec Integrity, Confidentiality, & Offset) + m = p32.match(line) + if m: + ret_dict['macsec_capability'] = int(m.group('macsec_capability')) + ret_dict['macsec_capability_description'] = m.group('macsec_capability_description') + continue + + # Parse MACsec Desired + # MACsec Desired........... YES + m = p33.match(line) + if m: + ret_dict['macsec_desired'] = m.group('macsec_desired') + continue + + # Parse number of MACsec Capable Live Peers + # # of MACsec Capable Live Peers............ 1 + m = p34.match(line) + if m: + ret_dict['num_macsec_capable_live_peers'] = int(m.group('num_macsec_capable_live_peers')) + continue + + # Parse number of MACsec Capable Live Peers Responded + # # of MACsec Capable Live Peers Responded.. 1 + m = p35.match(line) + if m: + ret_dict['num_macsec_capable_live_peers_responded'] = int(m.group('num_macsec_capable_live_peers_responded')) + continue + + # Parse Live Peers List header + # Live Peers List: + m = p36.match(line) + if m: + current_peers_section = 'live' + continue + + # Parse Potential Peers List header + # Potential Peers List: + m = p37.match(line) + if m: + current_peers_section = 'potential' + continue + + # Parse peer entries + # 1FD19F41DB6E84AF249521FA 67 b4a8.b9a4.9f31/0025 10 YES 0 + m = p40.match(line) + if m and current_peers_section: + peer_counter[current_peers_section] += 1 + peer_key = f"peer_{peer_counter[current_peers_section]}" + + peers_dict = ret_dict.setdefault(f'{current_peers_section}_peers', {}) + peers_dict[peer_key] = { + 'mi': m.group('mi'), + 'mn': int(m.group('mn')), + 'rx_sci_peer': m.group('rx_sci_peer'), + 'ks_priority': int(m.group('ks_priority')), + 'rxsa_installed': m.group('rxsa_installed'), + 'ssci': int(m.group('ssci')) + } + continue + + return ret_dict diff --git a/src/genie/libs/parser/iosxe/show_monitor.py b/src/genie/libs/parser/iosxe/show_monitor.py index 117dc6e95d..104fc59710 100644 --- a/src/genie/libs/parser/iosxe/show_monitor.py +++ b/src/genie/libs/parser/iosxe/show_monitor.py @@ -7,6 +7,9 @@ * show monitor event-trace crypto pki event all * show monitor event-trace crypto pki error all * show monitor event-trace crypto ikev2 event all + * show monitor event-trace crypto all detail + * show monitor event-trace crypto from-boot + * show monitor event-trace crypto from-boot {timer} ''' @@ -16,7 +19,7 @@ # Metaparser from genie.metaparser import MetaParser -from genie.metaparser.util.schemaengine import Any, Optional +from genie.metaparser.util.schemaengine import Any, Optional, ListOf # ========================================= @@ -2172,7 +2175,6 @@ class ShowMonitorEventTraceCryptoIkev2EventAllSchema(MetaParser): } } - # ================================================= # Parser for 'show monitor event-trace crypto ikev2 event all' # ================================================= @@ -2264,3 +2266,350 @@ def cli(self, output=None): event_idx += 1 return parsed_dict + + +# ================================================= +# Schema for 'show monitor event-trace crypto all detail' +# ================================================= +class ShowMonitorEventTraceCryptoAllDetailSchema(MetaParser): + """Schema for `show monitor event-trace crypto all detail`""" + schema = { + 'event_trace': { + Optional('pki_event'): { + Optional('events'): ListOf({ + Optional('timestamp'): str, + Optional('message'): str, + Optional('traceback'): str, + }), + Optional('status'): str, + }, + Optional('pki_internal_event'): { + Optional('events'): ListOf({ + Optional('timestamp'): str, + Optional('message'): str, + Optional('traceback'): str, + }), + Optional('status'): str, + }, + Optional('pki_error'): { + Optional('events'): ListOf({ + Optional('timestamp'): str, + Optional('message'): str, + Optional('traceback'): str, + }), + Optional('status'): str, + }, + Optional('ikev2_event'): { + Optional('events'): ListOf({ + Optional('timestamp'): str, + Optional('message'): str, + Optional('traceback'): str, + }), + Optional('status'): str, + }, + Optional('ikev2_internal_event'): { + Optional('events'): ListOf({ + Optional('timestamp'): str, + Optional('message'): str, + Optional('traceback'): str, + }), + Optional('status'): str, + }, + Optional('ikev2_error'): { + Optional('events'): ListOf({ + Optional('timestamp'): str, + Optional('message'): str, + Optional('traceback'): str, + }), + Optional('status'): str, + }, + Optional('ikev2_exception'): { + Optional('events'): ListOf({ + Optional('timestamp'): str, + Optional('message'): str, + Optional('traceback'): str, + }), + Optional('status'): str, + }, + Optional('ipsec_event'): { + Optional('events'): ListOf({ + Optional('timestamp'): str, + Optional('message'): str, + Optional('traceback'): str, + }), + Optional('status'): str, + }, + Optional('ipsec_error'): { + Optional('events'): ListOf({ + Optional('timestamp'): str, + Optional('message'): str, + Optional('traceback'): str, + }), + Optional('status'): str, + }, + Optional('ipsec_exception'): { + Optional('events'): ListOf({ + Optional('timestamp'): str, + Optional('message'): str, + Optional('traceback'): str, + }), + Optional('status'): str, + 'interrupt_context_allocation_count': int, + }, + } + } + +# ================================================= +# Parser for 'show monitor event-trace crypto all detail' +# ================================================= +class ShowMonitorEventTraceCryptoAllDetail(ShowMonitorEventTraceCryptoAllDetailSchema): + """Parser for `show monitor event-trace crypto all detail`""" + + cli_command = 'show monitor event-trace crypto all detail' + + def cli(self, output=None): + if output is None: + output = self.device.execute(self.cli_command) + + parsed_dict = {} + current_section = None + current_events = [] + + # pki_event: + p1 = re.compile(r'^(?P
\w+):\s*$') + + # *Apr 3 23:53:30.374: EST client initialized. + p2 = re.compile(r'^\*(?P\w{3}\s+\d+\s+\d{2}:\d{2}:\d{2}\.\d{3}):\s*(?P.*)$') + + # -Traceback= 1#3c677f5693d4a1da4989c9342fd445a2 :AAAACD000000+B371FD8 :AAAACD000000+6CA9C90 :AAAACD000000+6CAFFD4 :AAAACD000000+802A094 :AAAACD000000+8029AEC :AAAACD000000+7F8E788 :AAAACD000000+896EBD8 + p3 = re.compile(r'^-Traceback=\s*(?P.*)$') + + # Tracing currently disabled, from exec command + p4 = re.compile(r'^Tracing currently disabled, from exec command\s*$') + + # interrupt context allocation count = 0 + p5 = re.compile(r'^interrupt context allocation count = (?P\d+)\s*$') + + for line in output.splitlines(): + line = line.strip() + + # pki_event: + m1 = p1.match(line) + if m1: + current_section = m1.group('section') + if current_section not in parsed_dict: + section_dict = parsed_dict.setdefault('event_trace', {}).setdefault(current_section, {}) + else: + continue + + # *Apr 3 23:53:30.374: EST client initialized. + m2 = p2.match(line) + if m2: + event = { + 'timestamp': m2.group('timestamp'), + 'message': m2.group('message') + } + if 'events' in section_dict: + section_dict['events'].append(event) + else: + section_dict.setdefault('events', [event]) + continue + + # -Traceback= 1#3c677f5693d4a1da4989c9342fd445a2 :AAAACD000000+B371FD8 :AAAACD000000+6CA9C90 :AAAACD000000+6CAFFD4 :AAAACD000000+802A094 :AAAACD000000+8029AEC :AAAACD000000+7F8E788 :AAAACD000000+896EBD8 + m3 = p3.match(line) + if m3: + section_dict['events'][-1]['traceback'] = m3.group('traceback') + continue + + # Tracing currently disabled, from exec command + m4 = p4.match(line) + if m4: + section_dict['status'] = 'Tracing currently disabled, from exec command' + continue + + # interrupt context allocation count = 0 + m5 = p5.match(line) + if m5: + section_dict['interrupt_context_allocation_count'] = int(m5.group('count')) + continue + + return parsed_dict + + +# ================================================= +# Schema for 'show monitor event-trace crypto from-boot' +# Schema for 'show monitor event-trace crypto from-boot {timer}' +# ================================================= +class ShowMonitorEventTraceCryptoFromBootSchema(MetaParser): + """Schema for : + 'show monitor event-trace crypto from-boot' + 'show monitor event-trace crypto from-boot {timer}'""" + schema = { + 'event_trace': { + Optional('pki_event'): { + Optional('events'): ListOf({ + Optional('timestamp'): str, + Optional('message'): str, + Optional('traceback'): str, + }), + Optional('status'): str, + }, + Optional('pki_internal_event'): { + Optional('events'): ListOf({ + Optional('timestamp'): str, + Optional('message'): str, + Optional('traceback'): str, + }), + Optional('status'): str, + }, + Optional('pki_error'): { + Optional('events'): ListOf({ + Optional('timestamp'): str, + Optional('message'): str, + Optional('traceback'): str, + }), + Optional('status'): str, + }, + Optional('ikev2_event'): { + Optional('events'): ListOf({ + Optional('timestamp'): str, + Optional('message'): str, + Optional('traceback'): str, + }), + Optional('status'): str, + }, + Optional('ikev2_internal_event'): { + Optional('events'): ListOf({ + Optional('timestamp'): str, + Optional('message'): str, + Optional('traceback'): str, + }), + Optional('status'): str, + }, + Optional('ikev2_error'): { + Optional('events'): ListOf({ + Optional('timestamp'): str, + Optional('message'): str, + Optional('traceback'): str, + }), + Optional('status'): str, + }, + Optional('ikev2_exception'): { + Optional('events'): ListOf({ + Optional('timestamp'): str, + Optional('message'): str, + Optional('traceback'): str, + }), + Optional('status'): str, + }, + Optional('ipsec_event'): { + Optional('events'): ListOf({ + Optional('timestamp'): str, + Optional('message'): str, + Optional('traceback'): str, + }), + Optional('status'): str, + }, + Optional('ipsec_error'): { + Optional('events'): ListOf({ + Optional('timestamp'): str, + Optional('message'): str, + Optional('traceback'): str, + }), + Optional('status'): str, + }, + Optional('ipsec_exception'): { + Optional('events'): ListOf({ + Optional('timestamp'): str, + Optional('message'): str, + Optional('traceback'): str, + }), + Optional('status'): str, + Optional('interrupt_context_allocation_count'): int, + }, + } + } + +# ================================================= +# Parser for 'show monitor event-trace crypto from-boot' +# Parser for 'show monitor event-trace crypto from-boot {timer}' +# ================================================= +class ShowMonitorEventTraceCryptoFromBoot(ShowMonitorEventTraceCryptoFromBootSchema): + """Parser for : + 'show monitor event-trace crypto from-boot' + 'show monitor event-trace crypto from-boot {timer}'""" + + cli_command = ['show monitor event-trace crypto from-boot', + 'show monitor event-trace crypto from-boot {timer}'] + + def cli(self, timer='', output=None): + if output is None: + if timer: + cmd = self.cli_command[1].format(timer=timer) + else: + cmd = self.cli_command[0] + output = self.device.execute(cmd) + + parsed_dict = {} + current_section = None + current_events = [] + + # pki_event: + p1 = re.compile(r'^(?P
\w+):\s*$') + + # Aug 11 09:10:26.036: SA ID:1 SESSION ID:1 Remote: 40.181.251.101/500 Local: 40.185.80.1/500 (I) Sending IKEv2 IKE_SA_INIT Exchange REQUEST + p2 = re.compile(r'^(?P\w{3}\s+\d+\s+\d{2}:\d{2}:\d{2}\.\d{3}):\s*(?P.*)$') + + # -Traceback= 1#3c677f5693d4a1da4989c9342fd445a2 :AAAACD000000+B371FD8 :AAAACD000000+6CA9C90 :AAAACD000000+6CAFFD4 :AAAACD000000+802A094 :AAAACD000000+8029AEC :AAAACD000000+7F8E788 :AAAACD000000+896EBD8 + p3 = re.compile(r'^-Traceback=\s*(?P.*)$') + + # Tracing currently disabled, from exec command + p4 = re.compile(r'^Tracing currently disabled, from exec command\s*$') + + # interrupt context allocation count = 0 + p5 = re.compile(r'^interrupt context allocation count = (?P\d+)\s*$') + + for line in output.splitlines(): + line = line.strip() + + # pki_event: + m1 = p1.match(line) + if m1: + current_section = m1.group('section') + if current_section not in parsed_dict: + section_dict = parsed_dict.setdefault('event_trace', {}).setdefault(current_section, {}) + else: + continue + + # Aug 11 09:10:26.036: SA ID:1 SESSION ID:1 Remote: 40.181.251.101/500 Local: 40.185.80.1/500 (I) Sending IKEv2 IKE_SA_INIT Exchange REQUEST + m2 = p2.match(line) + if m2: + event = { + 'timestamp': m2.group('timestamp'), + 'message': m2.group('message') + } + if 'events' in section_dict: + section_dict['events'].append(event) + else: + section_dict.setdefault('events', [event]) + continue + + # -Traceback= 1#3c677f5693d4a1da4989c9342fd445a2 :AAAACD000000+B371FD8 :AAAACD000000+6CA9C90 :AAAACD000000+6CAFFD4 :AAAACD000000+802A094 :AAAACD000000+8029AEC :AAAACD000000+7F8E788 :AAAACD000000+896EBD8 + m3 = p3.match(line) + if m3: + section_dict['events'][-1]['traceback'] = m3.group('traceback') + continue + + # Tracing currently disabled, from exec command + m4 = p4.match(line) + if m4: + section_dict['status'] = 'Tracing currently disabled, from exec command' + continue + + # interrupt context allocation count = 0 + m5 = p5.match(line) + if m5: + section_dict['interrupt_context_allocation_count'] = int(m5.group('count')) + continue + + return parsed_dict diff --git a/src/genie/libs/parser/iosxe/show_monitor_event_trace_crypto.py b/src/genie/libs/parser/iosxe/show_monitor_event_trace_crypto.py index dd67f3f4ba..3667f85265 100644 --- a/src/genie/libs/parser/iosxe/show_monitor_event_trace_crypto.py +++ b/src/genie/libs/parser/iosxe/show_monitor_event_trace_crypto.py @@ -351,3 +351,43 @@ def cli(self, output=None): details['status'] = 'enabled_no_events' return parsed_dict + +class ShowMonitorEventTraceCryptoIpsecEventAllSchema(MetaParser): + ''' Schema for show monitor event-trace crypto ipsec event all ''' + schema = { + 'tracing_status': str, + Optional('source'): str, + } + +class ShowMonitorEventTraceCryptoIpsecEventAll(ShowMonitorEventTraceCryptoIpsecEventAllSchema): + """ + Parser for: + show monitor event-trace crypto ipsec event all + """ + cli_command = "show monitor event-trace crypto ipsec event all" + + def cli(self, output=None): + if output is None: + output = self.device.execute(self.cli_command) + + # Initialize the parsed dictionary + parsed_dict = {} + + # Tracing currently disabled, from exec command + p1 = re.compile(r'^Tracing currently (?Pdisabled|enabled)(?:, from (?P.+))?$') + + for line in output.splitlines(): + line = line.strip() + if not line: + continue + + # Tracing currently disabled, from exec command + m = p1.match(line) + if m: + groups = m.groupdict() + parsed_dict['tracing_status'] = groups['status'] + if groups.get('source'): + parsed_dict['source'] = groups['source'] + continue + + return parsed_dict diff --git a/src/genie/libs/parser/iosxe/show_platform.py b/src/genie/libs/parser/iosxe/show_platform.py index d9c8ecb741..f9c93483ee 100755 --- a/src/genie/libs/parser/iosxe/show_platform.py +++ b/src/genie/libs/parser/iosxe/show_platform.py @@ -41,6 +41,7 @@ * 'show platform software wccp web-cache counters' * 'show platform hardware qfp active feature nat datapath port' * 'show platform hardware qfp active feature nat datapath map' + * 'show platform hardware qfp active feature nat datapath esp' ''' # Python @@ -7308,7 +7309,15 @@ class ShowPlatformPacketTracePacketSchema(MetaParser): Optional('qos'): { 'direction': str, 'action': str, - 'fields': str + Optional('fields'): str, + Optional('pak_priority'): str, + Optional('priority'): str, + Optional('queue_id'): str, + Optional('pal_queue_id'): str, + Optional('queue_limit'): str, + Optional('wred_enabled'): str, + Optional('inst_queue_len'): str, + Optional('avg_queue_len'): str }, Optional('ipsec'): { 'action': str, @@ -11350,3 +11359,50 @@ def cli(self, output=None): continue return ret_dict + + +# ============================================================================================= +# Schema for 'show platform hardware qfp active feature nat datapath esp' +# ============================================================================================= +class ShowPlatformHardwareQfpActiveFeatureNatDatapathEspSchema(MetaParser): + """Schema for show platform hardware qfp active feature nat datapath esp""" + + schema = { + 'esp_global_stats': { + 'esp_count': int, + 'esp_limit_fail_count': int, + } + } + + +# ============================================================================================= +# Parser for 'show platform hardware qfp active feature nat datapath esp' +# ============================================================================================= +class ShowPlatformHardwareQfpActiveFeatureNatDatapathEsp(ShowPlatformHardwareQfpActiveFeatureNatDatapathEspSchema): + """Parser for show platform hardware qfp active feature nat datapath esp""" + + cli_command = 'show platform hardware qfp active feature nat datapath esp' + + def cli(self, output=None): + if output is None: + output = self.device.execute(self.cli_command) + + # Initialize the parsed dictionary + parsed_dict = {} + + # ESP global stats: esp_count 0 esp_limit_fail_count 0 + p1 = re.compile(r'^ESP\s+global\s+stats:\s+esp_count\s+(?P\d+)\s+esp_limit_fail_count\s+(?P\d+)$') + + for line in output.splitlines(): + line = line.strip() + + # ESP global stats: esp_count 0 esp_limit_fail_count 0 + m = p1.match(line) + if m: + groups = m.groupdict() + esp_stats_dict = parsed_dict.setdefault('esp_global_stats', {}) + esp_stats_dict['esp_count'] = int(groups['esp_count']) + esp_stats_dict['esp_limit_fail_count'] = int(groups['esp_limit_fail_count']) + continue + + return parsed_dict diff --git a/src/genie/libs/parser/iosxe/show_platform_hardware.py b/src/genie/libs/parser/iosxe/show_platform_hardware.py index ec3c929a63..ca409ce0b9 100644 --- a/src/genie/libs/parser/iosxe/show_platform_hardware.py +++ b/src/genie/libs/parser/iosxe/show_platform_hardware.py @@ -33,6 +33,7 @@ * 'show platform hardware qfp active feature cts client interface' * 'show platform hardware cpp active feature firewall session create {session_context} {num_sessions}' * 'show platform hardware cpp active statistics drop' + * 'show platform hardware cpp active system state' * 'show platform hardware qfp active feature ipsec state' * 'show platform hardware qfp active feature tcp stats detail' * 'show platform hardware qfp active classification class-group-manager class-group client cce all' @@ -42,6 +43,7 @@ * 'show platform hardware qfp active feature nat datapath stats' * 'show platform hardware qfp active feature bfd datapath session' * 'show platform hardware qfp active feature alg statistics sip l7data' + * 'show platform hardware qfp active feature ipsec sa 3' * 'show platform hardware qfp active feature firewall memory' * 'show platform hardware qfp active feature alg statistics' * 'show platform hardware qfp active feature alg statistics dns' @@ -57,7 +59,16 @@ * 'show platform hardware qfp active feature alg statistics msrpc {clear}' * 'show platform hardware qa active fe alg sta sip clear' * 'show platform hardware qfp active feature firewall datapath scb any any any any any all any detail' + * 'show platform hardware qfp active feature firewall drop' + * 'show platform hardware qfp active feature firewall drop all' + * 'show platform hardware qfp active feature firewall drop clear' + * 'show platform hardware qfp active feature firewall drop verbose' * 'show platform hardware qfp active feature nat datapath edm' + * 'show platform hardware qfp active feature evc client l2cp-actions interface {interface}' + * 'show platform hardware qfp active feature firewall runtime' + * 'show platform hardware qfp active feature nat datapath gatein' + * 'show platform hardware qfp active feature nat datapath gateout' + * 'show platform hardware qfp active feature td datapath statistics' """ import re import logging @@ -3710,23 +3721,33 @@ class ShowPlatformHardwareAuthenticationStatusSchema(MetaParser): }, }, Optional("SUP0 Authentication"): str, + Optional("SUP1 Authentication"): str, + Optional("SUP 0 Authentication"): str, + Optional("SUP 1 Authentication"): str, Optional("Fan Tray Authentication"): str, - Optional("Line Card:6 Authentication"): str, + Optional("Fan Tray 1 Authentication"): str, Optional("Line Card:1 Authentication"): str, - Optional("SUP1 Authentication"): str, - Optional("Line Card:5 Authentication"): str, - Optional("Line Card:2 Authentication"): str, - Optional("Line Card:7 Authentication"): str, Optional("Line Card 1 Authentication"): str, + Optional("Line Card:2 Authentication"): str, Optional("Line Card 2 Authentication"): str, - Optional("Line Card 5 Authentication"): str, + Optional("Line Card:3 Authentication"): str, + Optional("Line Card 3 Authentication"): str, Optional("Line Card:4 Authentication"): str, + Optional("Line Card 4 Authentication"): str, + Optional("Line Card:5 Authentication"): str, + Optional("Line Card 5 Authentication"): str, + Optional("Line Card:6 Authentication"): str, Optional("Line Card 6 Authentication"): str, - Optional("Fan Tray 1 Authentication"): str, + Optional("Line Card:7 Authentication"): str, + Optional("Line Card 7 Authentication"): str, + Optional("Line Card:8 Authentication"): str, + Optional("Line Card 8 Authentication"): str, + Optional("Line Card:9 Authentication"): str, + Optional("Line Card 9 Authentication"): str, + Optional("Line Card:10 Authentication"): str, + Optional("Line Card 10 Authentication"): str, Optional("Chassis Authentication"): str, Optional("SSD FRU Authentication"): str, - Optional("SUP 0 Authentication"): str, - Optional("SUP 1 Authentication"): str, } @@ -8901,6 +8922,331 @@ def cli(self, output=None): continue return parsed_dict +class ShowPlatformHardwareQfpActiveFeatureIpsecSa3Schema(MetaParser): + """Schema for show platform hardware qfp active feature ipsec sa 3""" + schema = { + 'qfp_ipsec_sa_information': { + 'qfp_sa_id': int, + 'pal_sa_id': int, + 'qfp_spd_id': int, + 'qfp_sp_id': int, + 'qfp_spi': str, + 'crypto_ctx': str, + 'flags': str, + 'flags_details': ListOf(str), + 'flags_parsed': {str: str}, + 'qos_group': str, + 'mtu': str, + 'mtu_adj': str, + 'ext_ar_window_size': int, + 'ext_ar_window_top': int, + 'sar_delta': int, + 'sar_window': str, + 'sibling_sa': str, + 'sp_ptr': str, + 'sbs_ptr': str, + 'local_endpoint': str, + 'remote_endpoint': str, + 'cgid_cid_fid_rid': str, + 'ivrf': int, + 'fvrf': int, + 'trans_udp_sport': int, + 'trans_udp_dport': int, + 'first_intf_name': str, + 'nat_fixup_src_port': int, + 'nat_fixup_ip': str + } + } + +class ShowPlatformHardwareQfpActiveFeatureIpsecSa3(ShowPlatformHardwareQfpActiveFeatureIpsecSa3Schema): + """Parser for: + show platform hardware qfp active feature ipsec sa 3 + """ + cli_command = 'show platform hardware qfp active feature ipsec sa 3' + + def cli(self, output=None): + if output is None: + output = self.device.execute(self.cli_command) + + parsed_dict = {} + # QFP sa id: 12345 + p1 = re.compile(r'^QFP sa id: (?P\d+)$') + + # pal sa id: 67890 + p2 = re.compile(r'^pal sa id: (?P\d+)$') + + # QFP spd id: 23456 + p3 = re.compile(r'^QFP spd id: (?P\d+)$') + + # sp id: 78901 + p4 = re.compile(r'^QFP sp id: (?P\d+)$') + + # QFP spi: 0x12abc(456) + p5 = re.compile(r'^QFP spi: (?P0x[0-9a-fA-F]+\(\d+\))$') + + # crypto ctx: 0x123abc + p6 = re.compile(r'^crypto ctx: (?P0x[0-9a-fA-F]+)$') + + # flags: 0x1F (Details below) + p7 = re.compile(r'^flags: (?P0x[0-9a-fA-F]+) \(Details below\)$') + + # FLAG1 FLAG2 VAL1:abc VAL2:def + p8 = re.compile(r'^: (?P
.+)$') + + # qos_group: 0x2F + p9 = re.compile(r'^qos_group: (?P0x[0-9a-fA-F]+)$') # "qos_group" + + # mtu: 0x1000=0 + p10 = re.compile(r'^mtu: (?P0x[0-9a-fA-F]+=0)$') + + # mtu_adj: 0x1100=0 + p11 = re.compile(r'^mtu_adj: (?P0x[0-9a-fA-F]+=0)$') + + # ext_ar window_size: 50 + p12 = re.compile(r'^ext_ar window_size: (?P\d+)$') + + # ext_ar window top: 10 + p13 = re.compile(r'^ext_ar window top: (?P\d+)$') + + # sar_delta: 5 + p14 = re.compile(r'^sar_delta: (?P\d+)$') + + # sar_window: 0x1A2B + p15 = re.compile(r'^sar_window: (?P0x[0-9a-fA-F]+)$') + + # sibling_sa: 0x3F4E + p16 = re.compile(r'^sibling_sa: (?P0x[0-9a-fA-F]+)$') + + # sp_ptr: 0x5A6B + p17 = re.compile(r'^sp_ptr: (?P0x[0-9a-fA-F]+)$') + + # sbs_ptr: 0x7C8D + p18 = re.compile(r'^sbs_ptr: (?P0x[0-9a-fA-F]+)$') + + # local endpoint: 192.168.1.1 + p19 = re.compile(r'^local endpoint: (?P[0-9.]+)$') + + # remote endpoint: 192.168.1.2 + p20 = re.compile(r'^remote endpoint: (?P[0-9.]+)$') + + # cgid.cid.fid.rid: 1.2.3.4 + p21 = re.compile(r'^cgid.cid.fid.rid: (?P[0-9.]+)$') + + # ivrf: 100 + p22 = re.compile(r'^ivrf: (?P\d+)$') + + # fvrf: 200 + p23 = re.compile(r'^fvrf: (?P\d+)$') + + # trans udp sport: 12345 + p24 = re.compile(r'^trans udp sport: (?P\d+)$') + + # trans udp dport: 54321 + p25 = re.compile(r'^trans udp dport: (?P\d+)$') + + # first intf name: Ethernet0/1 + p26 = re.compile(r'^first intf name: (?P.+)$') + + # nat fixup src port: 9999 + p27 = re.compile(r'^nat fixup src port: (?P\d+)$') + + # nat fixup ip: 10.0.0.1 + p28 = re.compile(r'^nat fixup ip: (?P[0-9.]+)$') + + for line in output.splitlines(): + line = line.strip() + if not line: + continue + + sa_dict = parsed_dict.setdefault('qfp_ipsec_sa_information', {}) + + for line in output.splitlines(): + line = line.strip() + if not line: + continue + + sa_dict = parsed_dict.setdefault('qfp_ipsec_sa_information', {}) + + # QFP sa id: 12345 + m = p1.match(line) + if m: + sa_dict['qfp_sa_id'] = int(m.group('qfp_sa_id')) + continue + + # pal sa id: 67890 + m = p2.match(line) + if m: + sa_dict['pal_sa_id'] = int(m.group('pal_sa_id')) + continue + + # QFP spd id: 23456 + m = p3.match(line) + if m: + sa_dict['qfp_spd_id'] = int(m.group('qfp_spd_id')) + continue + + # QFP sp id: 78901 + m = p4.match(line) + if m: + sa_dict['qfp_sp_id'] = int(m.group('qfp_sp_id')) + continue + + # QFP spi: 0x12abc(456) + m = p5.match(line) + if m: + sa_dict['qfp_spi'] = m.group('qfp_spi') + continue + + # crypto ctx: 0x123abc + m = p6.match(line) + if m: + sa_dict['crypto_ctx'] = m.group('crypto_ctx') + continue + + # flags: 0x1F (Details below) + m = p7.match(line) + if m: + sa_dict['flags'] = m.group('flags') + sa_dict['flags_details'] = [] + sa_dict['flags_parsed'] = {} + continue + + # FLAG1 VAL1:abc FLAG2 VAL2:def + m = p8.match(line) + if m: + detail_line = m.group('details') + sa_dict['flags_details'].append(detail_line) + for part in detail_line.split(): + if ':' in part: + k, v = part.split(':', 1) + sa_dict['flags_parsed'][k.strip()] = v.strip() + else: + sa_dict['flags_parsed'][part.strip()] = 'True' + continue + + # qos_group: 0x2F + m = p9.match(line) + if m: + sa_dict['qos_group'] = m.group('qos_group') + continue + + # mtu: 0x1000=0 + m = p10.match(line) + if m: + sa_dict['mtu'] = m.group('mtu') + continue + + # mtu_adj: 0x1100=0 + m = p11.match(line) + if m: + sa_dict['mtu_adj'] = m.group('mtu_adj') + continue + + # ext_ar window_size: 50 + m = p12.match(line) + if m: + sa_dict['ext_ar_window_size'] = int(m.group('ext_ar_window_size')) + continue + + # ext_ar window top: 10 + m = p13.match(line) + if m: + sa_dict['ext_ar_window_top'] = int(m.group('ext_ar_window_top')) + continue + + # sar_delta: 5 + m = p14.match(line) + if m: + sa_dict['sar_delta'] = int(m.group('sar_delta')) + continue + + # sar_window: 0x1A2B + m = p15.match(line) + if m: + sa_dict['sar_window'] = m.group('sar_window') + continue + + # sibling_sa: 0x3F4E + m = p16.match(line) + if m: + sa_dict['sibling_sa'] = m.group('sibling_sa') + continue + + # sp_ptr: 0x5A6B + m = p17.match(line) + if m: + sa_dict['sp_ptr'] = m.group('sp_ptr') + continue + + # sbs_ptr: 0x7C8D + m = p18.match(line) + if m: + sa_dict['sbs_ptr'] = m.group('sbs_ptr') + continue + + # local endpoint: 192.168.1.1 + m = p19.match(line) + if m: + sa_dict['local_endpoint'] = m.group('local_endpoint') + continue + + # remote endpoint: 192.168.1.2 + m = p20.match(line) + if m: + sa_dict['remote_endpoint'] = m.group('remote_endpoint') + continue + + # cgid.cid.fid.rid: 1.2.3.4 + m = p21.match(line) + if m: + sa_dict['cgid_cid_fid_rid'] = m.group('cgid_cid_fid_rid') + continue + + # ivrf: 100 + m = p22.match(line) + if m: + sa_dict['ivrf'] = int(m.group('ivrf')) + continue + + # fvrf: 200 + m = p23.match(line) + if m: + sa_dict['fvrf'] = int(m.group('fvrf')) + continue + + # trans udp sport: 12345 + m = p24.match(line) + if m: + sa_dict['trans_udp_sport'] = int(m.group('trans_udp_sport')) + continue + + # trans udp dport: 54321 + m = p25.match(line) + if m: + sa_dict['trans_udp_dport'] = int(m.group('trans_udp_dport')) + continue + + # first intf name: Ethernet0/1 + m = p26.match(line) + if m: + sa_dict['first_intf_name'] = m.group('first_intf_name') + continue + + # nat fixup src port: 9999 + m = p27.match(line) + if m: + sa_dict['nat_fixup_src_port'] = int(m.group('nat_fixup_src_port')) + continue + + # nat fixup ip: 10.0.0.1 + m = p28.match(line) + if m: + sa_dict['nat_fixup_ip'] = m.group('nat_fixup_ip') + continue + + return parsed_dict + + class ShowPlatformHardwareQfpActiveInterfaceIfNameSchema(MetaParser): schema = { "interface": { @@ -11847,9 +12193,8 @@ def cli(self, output=None): vpn_id['src'] = int(m.group('src_vpn')) vpn_id['dst'] = int(m.group('dst_vpn')) continue - return result - + class ShowPlatformHardwareQfpActiveFeatureAlgStatisticsSipClearSchema(MetaParser): """Schema for show platform hardware qfp active feature alg statistics sip clear""" @@ -12537,102 +12882,293 @@ def cli(self, output=None): return parsed_dict -# ======================================================= -# Schema for 'show platform hardware qfp active feature firewall datapath scb any any any any any all any detail' -# ======================================================= - -class ShowPlatformHardwareQfpActiveFeatureFirewallDatapathScbDetailSchema(MetaParser): - '''Schema for show platform hardware qfp active feature firewall datapath scb any any any any any all any detail''' +class ShowPlatformHardwareQfpActiveFeatureTdDatapathStatisticsSchema(MetaParser): + """Schema for show platform hardware qfp active feature td datapath statistics""" schema = { - 'sessions': { - Any(): { - 'session_id': str, - 'src_ip': str, - 'src_port': int, - 'dst_ip': str, - 'dst_port': int, - 'protocol': int, - 'vrf_src': str, - 'vrf_dst': str, - 'protocol_name': str, - 'flags': str, - 'pscb': str, - 'key1_flags': str, - 'bucket': int, - 'prev': str, - 'next': str, - 'fw_flags': ListOf(str), - Optional('vrf_flags'): ListOf(str), - 'protocol_state': ListOf(str), - 'icmp_error_count': int, - 'ureachable_arrived': str, - 'scb_state': str, - 'nxt_timeout': int, - 'refcnt': int, - 'nbar_verdict_count': int, - 'ha_nak_cnt': int, - 'rg': int, - 'hostdb': str, - 'l7': str, - 'stats': str, - 'child': str, - 'octets_in': int, - 'packets_in': int, - 'octets_out': int, - 'packets_out': int, - 'cl6_word': str, - 'l7_proto': str, - 'l7_ooo_drop': str, - 'root_scb': str, - 'act_blk': str, - 'ingress_intf': str, - 'ingress_intf_id': int, - 'egress_intf': str, - 'egress_intf_id': int, - Optional('current_time'): int, - Optional('create_tstamp'): int, - Optional('last_access'): int, - Optional('now'): int, - Optional('csec_left'): str, - 'nat_out_local_addr': str, - 'nat_out_local_port': int, - 'nat_in_global_addr': str, - 'nat_in_global_port': int, - 'ip6_addr1': str, - 'ip6_addr2': str, - 'key_ip4_addr1': str, - 'key_ip4_port1': int, - 'key_ip4_addr2': str, - 'key_ip4_port2': int, - 'syncookie_fixup': str, - 'halfopen_linkage': ListOf(str), - 'cxsc_cft_fid': str, - 'tw_timer': ListOf(str), - 'domain_ab1': str, - 'l4_per_filter_stats': str, - 'avc_class_id': str, - 'sgt': int, - 'dgt': int, - 'nat_handles': ListOf(str), - 'flowdb_in2out': str, - 'flowdb_in2out_alloc_epoch': int, - 'flowdb_out2in': str, - 'flowdb_out2in_alloc_epoch': int, - 'ppe_tid': int, - 'icmp_err_time': int, - 'utd_context_id': int, - 'classification_epoch_scb': str, - 'classification_epoch_actblk': str, - 'avc_class_stats': str, - 'vpn_id_src': int, - 'vpn_id_dst': int, - 'zone_pair': str, - 'zone_class': str, - Optional('timer_info'): { - 'bucket': int, - 'flags': str, - 'func': int, - 'idx': int, + 'pool_usage': { + 'vtcp_info_alloc': { + 'alloc': int, + 'free': int, + 'fail': int + }, + 'pkt_buf_alloc': { + 'alloc': int, + 'free': int, + 'fail': int + }, + 'buf_size_alloc': { + 'alloc': int, + 'free': int + } + }, + 'receive': { + 'alg_proc_csum': int, + 'off_csum': int, + 'lisp_seg': int, + 'out_of_order': int, + 'retrans': int, + 'overlap': int, + 'dup_ack': int + }, + 'send': { + 'rx_ack': int, + 'rst': int, + 'hold_rst': int, + 'tx_hold_rexmit': int, + 'tx_rexmit': int, + 'tx_seg': int + }, + 'events_errors': { + 'tcp_fixup_drop': int, + 'invalid_sync': int, + 'invalid_opt': int, + 'tcp_invalid_rx': int, + 'invalid_tx': int, + 'pkt_err': int, + 'mem_err': int, + 'pa_err': int, + 'hex_limit': int, + 'tcp_flag_noack': int, + 'punt_err': int, + 'l2_not_supported': int, + 'first_pkt_non_syn': int + } + } +class ShowPlatformHardwareQfpActiveFeatureTdDatapathStatistics( + ShowPlatformHardwareQfpActiveFeatureTdDatapathStatisticsSchema +): + """Parser for show platform hardware qfp active feature td datapath statistics""" + + cli_command = 'show platform hardware qfp active feature td datapath statistics' + + def cli(self, output=None): + if output is None: + output = self.device.execute(self.cli_command) + + parsed_dict = {} + + # vtcp info alloc: 2 free: 0 fail: 0 + p1 = re.compile(r'^vtcp info alloc:\s+(?P\d+)\s+free:\s+(?P\d+)\s+fail:\s+(?P\d+)$') + + # pkt buf alloc: 0 free: 0 fail: 0 + p2 = re.compile(r'^pkt buf alloc:\s+(?P\d+)\s+free:\s+(?P\d+)\s+fail:\s+(?P\d+)$') + + # buf size alloc: 0 free: 0 + p3 = re.compile(r'^buf size alloc:\s+(?P\d+)\s+free:\s+(?P\d+)$') + + # alg_proc_csum: 0 off_csum: 0 lisp_seg: 0 + p4 = re.compile(r'^alg_proc_csum:\s+(?P\d+)\s+off_csum:\s+(?P\d+)\s+lisp_seg:\s+(?P\d+)$') + + # out of order: 0 retrans: 0 overlap: 0 + p5 = re.compile(r'^out of order:\s+(?P\d+)\s+retrans:\s+(?P\d+)\s+overlap:\s+(?P\d+)$') + + # dup ack: 3 + p6 = re.compile(r'^dup ack:\s+(?P\d+)$') + + # rx ack: 0 rst: 0 hold_rst: 0 + p7 = re.compile(r'^rx ack:\s+(?P\d+)\s+rst:\s+(?P\d+)\s+hold_rst:\s+(?P\d+)$') + + # tx_hold_rexmit: 0 tx_rexmit: 0 tx_seg: 0 + p8 = re.compile(r'^tx_hold_rexmit:\s+(?P\d+)\s+tx_rexmit:\s+(?P\d+)\s+tx_seg:\s+(?P\d+)$') + + # tcp_fixup_drop: 0 invalid_sync: 0 invalid_opt: 0 + p9 = re.compile(r'^tcp_fixup_drop:\s+(?P\d+)\s+invalid_sync:\s+(?P\d+)\s+invalid_opt:\s+(?P\d+)$') + + # tcp_invalid_rx: 0 invalid_tx: 0 pkt_err: 0 + p10 = re.compile(r'^tcp_invalid_rx:\s+(?P\d+)\s+invalid_tx:\s+(?P\d+)\s+pkt_err:\s+(?P\d+)$') + + # mem_err: 0 pa_err: 0 hex_limit: 0 + p11 = re.compile(r'^mem_err:\s+(?P\d+)\s+pa_err:\s+(?P\d+)\s+hex_limit:\s+(?P\d+)$') + + # tcp_flag_noack: 0 punt_err: 0 L2_not_supported 0 + p12 = re.compile(r'^tcp_flag_noack:\s+(?P\d+)\s+punt_err:\s+(?P\d+)\s+L2_not_supported\s+(?P\d+)$') + + # first_pkt_non_syn: 0 + p13 = re.compile(r'^first_pkt_non_syn:\s+(?P\d+)$') + + for line in output.splitlines(): + line = line.strip() + + # vtcp info alloc: 2 free: 0 fail: 0 + m = p1.match(line) + if m: + parsed_dict.setdefault('pool_usage', {})['vtcp_info_alloc'] = {k: int(v) for k, v in m.groupdict().items()} + continue + + # pkt buf alloc: 0 free: 0 fail: 0 + m = p2.match(line) + if m: + parsed_dict['pool_usage']['pkt_buf_alloc'] = {k: int(v) for k, v in m.groupdict().items()} + continue + + # buf size alloc: 0 free: 0 + m = p3.match(line) + if m: + parsed_dict['pool_usage']['buf_size_alloc'] = {k: int(v) for k, v in m.groupdict().items()} + continue + + # alg_proc_csum: 0 off_csum: 0 lisp_seg: 0 + m = p4.match(line) + if m: + parsed_dict.setdefault('receive', {}).update({k: int(v) for k, v in m.groupdict().items()}) + continue + + # out of order: 0 retrans: 0 overlap: 0 + m = p5.match(line) + if m: + parsed_dict['receive'].update({k: int(v) for k, v in m.groupdict().items()}) + continue + + # dup ack: 3 + m = p6.match(line) + if m: + parsed_dict['receive']['dup_ack'] = int(m.group('dup_ack')) + continue + + # rx ack: 0 rst: 0 hold_rst: 0 + m = p7.match(line) + if m: + parsed_dict.setdefault('send', {}).update({k: int(v) for k, v in m.groupdict().items()}) + continue + + # tx_hold_rexmit: 0 tx_rexmit: 0 tx_seg: 0 + m = p8.match(line) + if m: + parsed_dict['send'].update({k: int(v) for k, v in m.groupdict().items()}) + continue + + # tcp_fixup_drop: 0 invalid_sync: 0 invalid_opt: 0 + m = p9.match(line) + if m: + parsed_dict.setdefault('events_errors', {}).update({k: int(v) for k, v in m.groupdict().items()}) + continue + + # tcp_invalid_rx: 0 invalid_tx: 0 pkt_err: 0 + m = p10.match(line) + if m: + parsed_dict['events_errors'].update({k: int(v) for k, v in m.groupdict().items()}) + continue + + # mem_err: 0 pa_err: 0 hex_limit: 0 + m = p11.match(line) + if m: + parsed_dict['events_errors'].update({k: int(v) for k, v in m.groupdict().items()}) + continue + + # tcp_flag_noack: 0 punt_err: 0 L2_not_supported 0 + m = p12.match(line) + if m: + parsed_dict['events_errors'].update({ + 'tcp_flag_noack': int(m.group('tcp_flag_noack')), + 'punt_err': int(m.group('punt_err')), + 'l2_not_supported': int(m.group('l2_not_supported')) + }) + continue + + # first_pkt_non_syn: 0 + m = p13.match(line) + if m: + parsed_dict['events_errors']['first_pkt_non_syn'] = int(m.group('first_pkt_non_syn')) + continue + + return parsed_dict + +# ======================================================= +# Schema for 'show platform hardware qfp active feature firewall datapath scb any any any any any all any detail' +# ======================================================= + +class ShowPlatformHardwareQfpActiveFeatureFirewallDatapathScbDetailSchema(MetaParser): + '''Schema for show platform hardware qfp active feature firewall datapath scb any any any any any all any detail''' + schema = { + 'sessions': { + Any(): { + 'session_id': str, + 'src_ip': str, + 'src_port': int, + 'dst_ip': str, + 'dst_port': int, + 'protocol': int, + 'vrf_src': str, + 'vrf_dst': str, + 'protocol_name': str, + 'flags': str, + 'pscb': str, + 'key1_flags': str, + 'bucket': int, + 'prev': str, + 'next': str, + 'fw_flags': ListOf(str), + Optional('vrf_flags'): ListOf(str), + 'protocol_state': ListOf(str), + 'icmp_error_count': int, + 'ureachable_arrived': str, + 'scb_state': str, + 'nxt_timeout': int, + 'refcnt': int, + 'nbar_verdict_count': int, + 'ha_nak_cnt': int, + 'rg': int, + 'hostdb': str, + 'l7': str, + 'stats': str, + 'child': str, + 'octets_in': int, + 'packets_in': int, + 'octets_out': int, + 'packets_out': int, + 'cl6_word': str, + 'l7_proto': str, + 'l7_ooo_drop': str, + 'root_scb': str, + 'act_blk': str, + 'ingress_intf': str, + 'ingress_intf_id': int, + 'egress_intf': str, + 'egress_intf_id': int, + Optional('current_time'): int, + Optional('create_tstamp'): int, + Optional('last_access'): int, + Optional('now'): int, + Optional('csec_left'): str, + 'nat_out_local_addr': str, + 'nat_out_local_port': int, + 'nat_in_global_addr': str, + 'nat_in_global_port': int, + 'ip6_addr1': str, + 'ip6_addr2': str, + 'key_ip4_addr1': str, + 'key_ip4_port1': int, + 'key_ip4_addr2': str, + 'key_ip4_port2': int, + 'syncookie_fixup': str, + 'halfopen_linkage': ListOf(str), + 'cxsc_cft_fid': str, + 'tw_timer': ListOf(str), + 'domain_ab1': str, + 'l4_per_filter_stats': str, + 'avc_class_id': str, + 'sgt': int, + 'dgt': int, + 'nat_handles': ListOf(str), + 'flowdb_in2out': str, + 'flowdb_in2out_alloc_epoch': int, + 'flowdb_out2in': str, + 'flowdb_out2in_alloc_epoch': int, + 'ppe_tid': int, + 'icmp_err_time': int, + 'utd_context_id': int, + 'classification_epoch_scb': str, + 'classification_epoch_actblk': str, + 'avc_class_stats': str, + 'vpn_id_src': int, + 'vpn_id_dst': int, + 'zone_pair': str, + 'zone_class': str, + Optional('timer_info'): { + 'bucket': int, + 'flags': str, + 'func': int, + 'idx': int, 'wheel': str, 'timer_status': str, 'num_buckets': int, @@ -13048,6 +13584,61 @@ def cli(self, output=None): return parsed +class ShowPlatformHardwareQfpActiveFeatureFirewallDropSchema(MetaParser): + """Schema for show platform hardware qfp active feature firewall drop + show platform hardware qfp active feature firewall drop all + show platform hardware qfp active feature firewall drop clear + show platform hardware qfp active feature firewall drop verbose""" + schema = { + str: int + } + +class ShowPlatformHardwareQfpActiveFeatureFirewallDrop(ShowPlatformHardwareQfpActiveFeatureFirewallDropSchema): + """Parser for show platform hardware qfp active feature firewall drop + show platform hardware qfp active feature firewall drop all + show platform hardware qfp active feature firewall drop clear + show platform hardware qfp active feature firewall drop verbose""" + + + cli_command = 'show platform hardware qfp active feature firewall drop {actions}' + + def cli(self, actions="", output=None): + if output is None: + cmd = self.cli_command.format(actions=actions) + output = self.device.execute(cmd) + + parsed_dict = {} + + #------------------------------------------------------------------------------- + #Drop Reason Packets + #------------------------------------------------------------------------------- + #Policy drop:classify result 10 + + p1 = re.compile(r'^(?P.+?)\s{2,}(?P\d+)$') + + # Split the output into lines + lines = output.splitlines() + + # Iterate over each line + for line in lines: + line = line.strip() + # Skip the header lines + if line.startswith('Drop Reason') or line.startswith('---') or line.startswith('All drop counts cleared.'): + continue + + #------------------------------------------------------------------------------- + #Drop Reason Packets + #------------------------------------------------------------------------------- + #Policy drop:classify result 10 + + m = p1.match(line) + if m: + drop_reason = m.group("drop_reason").strip() + packets = int(m.group("packets")) + parsed_dict[drop_reason] = packets + + return parsed_dict + # ============================================================================================= # Schema for 'show platform hardware qfp active feature nat datapath edm' # ============================================================================================= @@ -13122,3 +13713,1197 @@ def cli(self, output=None): continue return ret_dict + +# ======================================================= +# Schema for 'show platform hardware qfp active feature evc client l2cp-actions interface {interface}' +# ======================================================= +class ShowPlatformHardwareQfpActiveFeatureEvcClientL2cpActionsInterfaceSchema(MetaParser): + """Schema for show platform hardware qfp active feature evc client l2cp-actions interface {interface}""" + + schema = { + "efp_l2cp_actions": { + Any(): str # Protocol name mapped to action (Drop, Fwrd, etc.) + } + } + + +# ======================================================= +# Parser for 'show platform hardware qfp active feature evc client l2cp-actions interface {interface}' +# ======================================================= +class ShowPlatformHardwareQfpActiveFeatureEvcClientL2cpActionsInterface( + ShowPlatformHardwareQfpActiveFeatureEvcClientL2cpActionsInterfaceSchema +): + """Parser for show platform hardware qfp active feature evc client l2cp-actions interface {interface}""" + + cli_command = "show platform hardware qfp active feature evc client l2cp-actions interface {interface}" + + def cli(self, interface, output=None): + if output is None: + output = self.device.execute(self.cli_command.format(interface=interface)) + + # Initialize the dictionary to store parsed data + ret_dict = {} + + # Regex patterns to match the different L2CP protocol actions + # VTP : Drop + p1 = re.compile(r"^\s*(?P\w+)\s*:\s*(?P\w+)\s*$") + + for line in output.splitlines(): + line = line.strip() + + # Skip header lines + if line == "EFP L2CP actions" or not line: + continue + + # Match protocol and action lines + # VTP : Drop + m = p1.match(line) + if m: + group = m.groupdict() + protocol = group["protocol"] + action = group["action"] + + # Store in the efp_l2cp_actions dictionary + efp_dict = ret_dict.setdefault("efp_l2cp_actions", {}) + efp_dict[protocol] = action + continue + + return ret_dict + +# ======================================================================== +# Schema for 'show platform hardware qfp active feature firewall runtime' +# ======================================================================== + +class ShowPlatformHardwareQfpActiveFeatureFirewallRuntimeSchema(MetaParser): + '''Schema for show platform hardware qfp active feature firewall runtime''' + schema = { + 'global': { + Any(): { + 'value': str, + Optional('ha_state'): str, + Optional('fw_configured'): str, + Optional('init_done'): str, + Optional('init_requested'): str, + Optional('syslog_deployed'): str, + Optional('salt'): int, + Optional('global_simultaneous_packets_per_session'): int, + Optional('default_simultaneous_packets_per_session'): int, + Optional('half_open'): str, + } + }, + Optional('teardowns'): int, + Optional('pam_cce'): str, + Optional('num_zp_with_policy'): int, + Optional('high_priority_recycle_queue_address'): str, + Optional('low_priority_recycle_queue_address'): str, + Optional('lock_upgrades'): int, + Optional('half_open_aggressive_aging'): int, + Optional('num_ack_exceeds_limit'): int, + Optional('num_rst_exceeds_limit'): int, + Optional('unknown_vrf_limit_exceeds'): int, + Optional('syncookie_over_rate_cnt'): int, + Optional('fw_tcp_session_termination'): { + 'halfopen': { + 'rst_sent': int, + 'blocked': int, + }, + 'idle': { + 'rst_sent': int, + 'blocked': int, + }, + 'halfclose': { + 'rst_sent': int, + 'blocked': int, + } + }, + Optional('nat_caching'): { + 'nat_registration': int, + 'nat_unregistration': int, + 'too_many_nat_sessions': int, + 'cant_register_with_nat': int, + 'invalid_nat_session': int, + 'no_nat_session_caching': int, + 'nat_cached_session': int, + }, + Optional('l2_firewall'): { + 'l2_unknown_encap': int, + 'l2_skip_tcp_pkt': int, + 'timer_stop_failed': int, + }, + Optional('vrf_global_action_block'): { + 'l7_inspection_disable_flags': str, + 'total_sessions': { + 'max_limit': int, + 'current_count': int, + 'exceed': int, + 'aggr_age_high_watermark': int, + 'aggr_age_low_watermark': int, + 'num_times_enter_aggr_age': int, + 'aggr_age_period': str, + }, + 'tcp_syn_cookie': { + 'max_limit': int, + 'current_count': int, + 'exceed': int, + }, + 'total_half_open_sessions': { + 'max_limit': int, + 'current_count': int, + 'exceed': int, + 'aggr_age_high_watermark': int, + 'aggr_age_low_watermark': int, + 'num_times_enter_aggr_age': int, + 'aggr_age_period': str, + }, + 'tcp_half_open_sessions': { + 'max_limit': int, + 'current_count': int, + 'exceed': int, + }, + 'udp_half_open_sessions': { + 'max_limit': int, + 'current_count': int, + 'exceed': int, + }, + 'icmp_half_open_sessions': { + 'max_limit': int, + 'current_count': int, + 'exceed': int, + }, + 'domain_flags': str, + }, + Optional('box_action_block'): { + 'l7_inspection_disable_flags': str, + 'total_sessions': { + 'current_count': int, + 'aggr_age_high_watermark': int, + 'aggr_age_low_watermark': int, + 'num_times_enter_aggr_age': int, + 'aggr_age_period': str, + }, + 'tcp_syn_cookie': { + 'max_limit': int, + 'current_count': int, + 'exceed': int, + }, + 'total_half_open_sessions': { + 'max_limit': int, + 'current_count': int, + 'exceed': int, + 'aggr_age_high_watermark': int, + 'aggr_age_low_watermark': int, + 'num_times_enter_aggr_age': int, + 'aggr_age_period': str, + }, + 'tcp_half_open_sessions': { + 'max_limit': int, + 'current_count': int, + 'exceed': int, + }, + 'udp_half_open_sessions': { + 'max_limit': int, + 'current_count': int, + 'exceed': int, + }, + 'icmp_half_open_sessions': { + 'max_limit': int, + 'current_count': int, + 'exceed': int, + }, + 'domain_flags': str, + }, + Optional('fw_persona_alert_rlimit'): int, + Optional('fw_persona_backpressure'): str, + Optional('invalid_rg_exceeds_max'): int, + Optional('invalid_ha_message_version'): int, + Optional('rii_hash_table'): { + 'address': str, + 'size': int, + }, + Optional('vrf_action_table'): { + 'address': str, + 'size': int, + }, + Optional('avc_stats_table_index_out_of_range'): int, + Optional('vrf_id_name_table'): { + Any(): { + 'id': int, + 'name': str, + 'vrf_namehash': str, + 'ipv4': int, + 'ipv6': int, + } + }, + Optional('fw_persona_address'): str, + Optional('vpn_zone_table'): { + 'address': str, + 'size': int, + } + } + +class ShowPlatformHardwareQfpActiveFeatureFirewallRuntime(ShowPlatformHardwareQfpActiveFeatureFirewallRuntimeSchema): + '''Parser for show platform hardware qfp active feature firewall runtime''' + + cli_command = 'show platform hardware qfp active feature firewall runtime' + def cli(self, output=None): + if output is None: + output = self.device.execute(self.cli_command) + + parsed = {} + # global 0x020001a1: + p1 = re.compile(r'^global(?P\d*)\s+(?P0x[0-9a-fA-F]+):$') + + + # HA state Allow-New-Sess + p2 = re.compile(r'^\s*HA state\s+(?P\S+)$') + + # FW Configured (0x00000020) + p3 = re.compile(r'^\s*FW Configured\s+\((?P0x[0-9a-fA-F]+)\)$') + + # Init Done (0x00000080) + p4 = re.compile(r'^\s*Init Done\s+\((?P0x[0-9a-fA-F]+)\)$') + + # Init Requested (0x00000100) + p5 = re.compile(r'^\s*Init Requested\s+\((?P0x[0-9a-fA-F]+)\)$') + + # Syslog Deployed (0x02000000) + p6 = re.compile(r'^\s*Syslog Deployed\s+\((?P0x[0-9a-fA-F]+)\)$') + + # Salt 196 + p7 = re.compile(r'^\s*Salt\s+(?P\d+)$') + + # Global number of simultaneous packet per session allowed 0 + p8 = re.compile(r'^\s*Global number of simultaneous packet per session allowed\s+(?P\d+)$') + + # Default number of simultaneous packet per session allowed 25 + p9 = re.compile(r'^\s*Default number of simultaneous packet per session allowed\s+(?P\d+)$') + + # half-open (0x00000080) + p10 = re.compile(r'^\s*half-open\s+\((?P0x[0-9a-fA-F]+)\)$') + + # teardowns 0, pam_cce 0x0 00000000 + p11 = re.compile(r'^teardowns\s+(?P\d+),\s+pam_cce\s+(?P\S+\s+\S+)$') + + # num zp with policy 1 + p12 = re.compile(r'^num zp with policy\s+(?P\d+)$') + + # High priority recycle queue address 0x846519c0 + p13 = re.compile(r'^High priority recycle queue address\s+(?P0x[0-9a-fA-F]+)$') + + # Low priority recycle queue address 0x846519d0 + p14 = re.compile(r'^Low priority recycle queue address\s+(?P0x[0-9a-fA-F]+)$') + + # Lock upgrades 190 + p15 = re.compile(r'^Lock upgrades\s+(?P\d+)$') + + # Half open aggressive aging: 1 + p16 = re.compile(r'^Half open aggressive aging:\s+(?P\d+)$') + + # Num of ACK exceeds limit(5): 0 + p17 = re.compile(r'^Num of ACK exceeds limit\(\d+\):\s+(?P\d+)$') + + # Num of RST exceeds limit(5) 0 + p18 = re.compile(r'^Num of RST exceeds limit\(\d+\)\s+(?P\d+)$') + + # Unknown VRF limit exceeds 0 + p19 = re.compile(r'^Unknown VRF limit exceeds\s+(?P\d+)$') + + # syncookie over rate cnt 0 + p20 = re.compile(r'^syncookie over rate cnt\s+(?P\d+)$') + + # fw tcp session termination RST segment control: + p21 = re.compile(r'^fw tcp session termination RST segment control:$') + + # halfopen: RST sent 0, blocked 0 + p22 = re.compile(r'^\s*halfopen:\s+RST sent\s+(?P\d+),\s+blocked\s+(?P\d+)$') + + # idle: RST sent 0, blocked 0 + p23 = re.compile(r'^\s*idle:\s+RST sent\s+(?P\d+),\s+blocked\s+(?P\d+)$') + + # halfclose: RST sent 0, blocked 0 + p24 = re.compile(r'^\s*halfclose:\s+RST sent\s+(?P\d+),\s+blocked\s+(?P\d+)$') + + # NAT caching: + p25 = re.compile(r'^NAT caching:$') + + # NAT registration 100 + p26 = re.compile(r'^NAT registration\s+(?P\d+)$') + + # NAT unregistration 100 + p27 = re.compile(r'^NAT unregistration\s+(?P\d+)$') + + # Too many nat sessions 0 + p28 = re.compile(r'^Too many nat sessions\s+(?P\d+)$') + + # Can't register with NAT 0 + p29 = re.compile(r'^\s*Can\'t register with NAT\s+(?P\d+)$') + + # Invalid nat session 0 + p30 = re.compile(r'^\s*Invalid nat session\s+(?P\d+)$') + + # No NAT session caching 0 + p31 = re.compile(r'^\s*No NAT session caching\s+(?P\d+)$') + + # NAT cached session 0 + p32 = re.compile(r'^\s*NAT cached session\s+(?P\d+)$') + + # L2 Firewall: + p33 = re.compile(r'^L2 Firewall:$') + + # L2 unknown encap 0 + p34 = re.compile(r'^\s*L2 unknown encap\s+(?P\d+)$') + + # L2 skip tcp pkt 0 + p35 = re.compile(r'^\s*L2 skip tcp pkt\s+(?P\d+)$') + + # Timer stop failed 0 + p36 = re.compile(r'^\s*Timer stop failed\s+(?P\d+)$') + + # VRF Global Action Block: + p37 = re.compile(r'^VRF Global Action Block:$') + + # Box Action Block: + p38 = re.compile(r'^Box Action Block:$') + + # L7 Inspection disable flags: 0x0 + p39 = re.compile(r'^\s*L7 Inspection disable flags:\s+(?P0x[0-9a-fA-F]+)$') + + # Total Sessions: + p40 = re.compile(r'^\s*Total Sessions:$') + + # max limit: 4294967295, current count: 0, exceed: 0 + p41 = re.compile(r'^\s*max limit:\s+(?P\d+),\s+current count:\s+(?P\d+),\s+exceed:\s+(?P\d+)$') + + # aggr-age high watermark: 4294967295, low watermark: 0 + p42 = re.compile(r'^\s*aggr-age high watermark:\s+(?P\d+),\s+low watermark:\s+(?P\d+)$') + + # num of times enter aggr-age: 0, aggr-age period: off + p43 = re.compile(r'^\s*num of times enter aggr-age:\s+(?P\d+),\s+aggr-age period:\s+(?P\S+)$') + + # TCP SYN Cookie: + p44 = re.compile(r'^\s*TCP SYN Cookie:$') + + # max limit: 4294967295, current count: 0, exceed: 0 + p45 = re.compile(r'^\s*max limit:\s+(?P\d+),\s+current count:\s+(?P\d+),\s+exceed:\s+(?P\d+)$') + + # Total Half Open Sessions: + p46 = re.compile(r'^\s*Total Half Open Sessions:$') + + # TCP Half Open Sessions: + p47 = re.compile(r'^\s*TCP Half Open Sessions:$') + + # UDP Half Open Sessions: + p48 = re.compile(r'^\s*UDP Half Open Sessions:$') + + # ICMP Half Open Sessions: + p49 = re.compile(r'^\s*ICMP Half Open Sessions:$') + + # max limit: 4294967295, current count: 0, exceed: 0 + p50 = re.compile(r'^\s*max limit:\s+(?P\d+),\s+current count:\s+(?P\d+),\s+exceed:\s+(?P\d+)$') + + # Domain flags: 0x0 + p51 = re.compile(r'^\s*Domain flags:\s+(?P0x[0-9a-fA-F]+)$') + + # Current count:: + p52 = re.compile(r'^\s*Current count::$') + + # Total Sessions 0 + p53 = re.compile(r'^\s*Total Sessions\s+(?P\d+)$') + + # FW persona alert_rlimit: 0, backpressure: 0x0 + p54 = re.compile(r'^FW persona alert_rlimit:\s+(?P\d+),\s+backpressure:\s+(?P0x[0-9a-fA-F]+)$') + + # Invalid RG (exceeds max RG): 0 + p55 = re.compile(r'^Invalid RG \(exceeds max RG\):\s+(?P\d+)$') + + # Invalid HA message version: 0 + p56 = re.compile(r'^Invalid HA message version:\s+(?P\d+)$') + + # RII Hash Table: address 0xc7335810 size 128 + p57 = re.compile(r'^RII Hash Table:\s+address\s+(?P
0x[0-9a-fA-F]+)\s+size\s+(?P\d+)$') + + # VRF Action Table Addr 0x0xc80ab800, Size 4096 + p58 = re.compile(r'^VRF Action Table Addr\s+(?P
0x[0-9a-fA-Fx]+),\s+Size\s+(?P\d+)$') + + # AVC stats table index out-of-range 0 + p59 = re.compile(r'^AVC stats table index out-of-range\s+(?P\d+)$') + + # VRF ID-Name Table: + p60 = re.compile(r'^VRF ID-Name Table:$') + + # VRF:(id=1:name=Mgmt-intf) + p61 = re.compile(r'^\s*VRF:\(id=(?P\d+):name=(?P[^)]+)\)$') + + # vrf_namehash 712b9b92383e5f4 ipv4 1, ipv6 65535 + p62 = re.compile(r'^\s*vrf_namehash\s+(?P\S+)\s+ipv4\s+(?P\d+),\s+ipv6\s+(?P\d+)$') + + # fw_persona: 0x846519e0 vpn zone table address: 0xc873b400, size 65536 + p63 = re.compile(r'^fw_persona:\s+(?P0x[0-9a-fA-F]+)\s+vpn zone table address:\s+(?P0x[0-9a-fA-F]+),\s+size\s+(?P\d+)$') + + current_global = None + current_section = None + current_subsection = None + current_vrf_entry = None + + for line in output.splitlines(): + line = line.strip() + + # Parse global sections + # global 0x624001a1: + m = p1.match(line) + if m: + group = m.groupdict() + global_key = f"global{group['num']}" if group['num'] else 'global' + current_global = global_key + parsed.setdefault('global', {})[current_global] = {'value': group['value']} + continue + + # Parse HA state + # HA state Allow-New-Sess + m = p2.match(line) + if m and current_global: + parsed['global'][current_global]['ha_state'] = m.group('ha_state') + continue + + # Parse FW Configured + # FW Configured (0x00000020) + m = p3.match(line) + if m and current_global: + parsed['global'][current_global]['fw_configured'] = m.group('fw_configured') + continue + + # Parse Init Done + # Init Done (0x00000080) + m = p4.match(line) + if m and current_global: + parsed['global'][current_global]['init_done'] = m.group('init_done') + continue + + # Parse Init Requested + # Init Requested (0x00000100) + m = p5.match(line) + if m and current_global: + parsed['global'][current_global]['init_requested'] = m.group('init_requested') + continue + + # Parse Syslog Deployed + # Syslog Deployed (0x02000000) + m = p6.match(line) + if m and current_global: + parsed['global'][current_global]['syslog_deployed'] = m.group('syslog_deployed') + continue + + # Parse Salt + # Salt 30 + m = p7.match(line) + if m and current_global: + parsed['global'][current_global]['salt'] = int(m.group('salt')) + continue + + # Parse Global simultaneous packets + # Global number of simultaneous packet per session allowed 0 + m = p8.match(line) + if m and current_global: + parsed['global'][current_global]['global_simultaneous_packets_per_session'] = int(m.group('global_simultaneous')) + continue + + # Parse Default simultaneous packets + # Default number of simultaneous packet per session allowed 25 + m = p9.match(line) + if m and current_global: + parsed['global'][current_global]['default_simultaneous_packets_per_session'] = int(m.group('default_simultaneous')) + continue + + # Parse half-open + # half-open (0x00000080) + m = p10.match(line) + if m and current_global: + parsed['global'][current_global]['half_open'] = m.group('half_open') + continue + + # Parse teardowns and pam_cce + # teardowns 0, pam_cce 0x0 00000000 + m = p11.match(line) + if m: + parsed['teardowns'] = int(m.group('teardowns')) + parsed['pam_cce'] = m.group('pam_cce') + continue + + # Parse num zp with policy + # num zp with policy 1 + m = p12.match(line) + if m: + parsed['num_zp_with_policy'] = int(m.group('num_zp')) + continue + + # Parse High priority recycle queue address + # High priority recycle queue address 0x820dbbd0 + m = p13.match(line) + if m: + parsed['high_priority_recycle_queue_address'] = m.group('high_priority') + continue + + # Parse Low priority recycle queue address + # Low priority recycle queue address 0x820dbbe0 + m = p14.match(line) + if m: + parsed['low_priority_recycle_queue_address'] = m.group('low_priority') + continue + + # Parse Lock upgrades + # Lock upgrades 190 + m = p15.match(line) + if m: + parsed['lock_upgrades'] = int(m.group('lock_upgrades')) + continue + + # Parse Half open aggressive aging + # Half open aggressive aging: 1 + m = p16.match(line) + if m: + parsed['half_open_aggressive_aging'] = int(m.group('half_open_aging')) + continue + + # Parse Num of ACK exceeds limit + # Num of ACK exceeds limit(5): 0 + m = p17.match(line) + if m: + parsed['num_ack_exceeds_limit'] = int(m.group('ack_exceeds')) + continue + + # Parse Num of RST exceeds limit + # Num of RST exceeds limit(5) 0 + m = p18.match(line) + if m: + parsed['num_rst_exceeds_limit'] = int(m.group('rst_exceeds')) + continue + + # Parse Unknown VRF limit exceeds + # Unknown VRF limit exceeds 0 + m = p19.match(line) + if m: + parsed['unknown_vrf_limit_exceeds'] = int(m.group('unknown_vrf')) + continue + + # Parse syncookie over rate cnt + # syncookie over rate cnt 0 + m = p20.match(line) + if m: + parsed['syncookie_over_rate_cnt'] = int(m.group('syncookie_rate')) + continue + + # Parse fw tcp session termination + # fw tcp session termination RST segment control: + m = p21.match(line) + if m: + current_section = 'fw_tcp_session_termination' + parsed[current_section] = {} + continue + + # Parse halfopen RST + # halfopen: RST sent 0, blocked 0 + m = p22.match(line) + if m and current_section == 'fw_tcp_session_termination': + parsed[current_section]['halfopen'] = { + 'rst_sent': int(m.group('rst_sent')), + 'blocked': int(m.group('blocked')) + } + continue + + # Parse idle RST + # idle: RST sent 0, blocked 0 + m = p23.match(line) + if m and current_section == 'fw_tcp_session_termination': + parsed[current_section]['idle'] = { + 'rst_sent': int(m.group('rst_sent')), + 'blocked': int(m.group('blocked')) + } + continue + + # Parse halfclose RST + # halfclose: RST sent 0, blocked 0 + m = p24.match(line) + if m and current_section == 'fw_tcp_session_termination': + parsed[current_section]['halfclose'] = { + 'rst_sent': int(m.group('rst_sent')), + 'blocked': int(m.group('blocked')) + } + continue + + # Parse NAT caching section + # NAT caching: + m = p25.match(line) + if m: + current_section = 'nat_caching' + parsed[current_section] = {} + continue + + # Parse NAT registration + # NAT registration 100 + m = p26.match(line) + if m and current_section == 'nat_caching': + parsed[current_section]['nat_registration'] = int(m.group('nat_registration')) + continue + + # Parse NAT unregistration + # NAT unregistration 100 + m = p27.match(line) + if m and current_section == 'nat_caching': + parsed[current_section]['nat_unregistration'] = int(m.group('nat_unregistration')) + continue + + # Parse Too many nat sessions + # Too many nat sessions 0 + m = p28.match(line) + if m and current_section == 'nat_caching': + parsed[current_section]['too_many_nat_sessions'] = int(m.group('too_many_nat')) + continue + + # Parse Can't register with NAT + # Can't register with NAT 0 + m = p29.match(line) + if m and current_section == 'nat_caching': + parsed[current_section]['cant_register_with_nat'] = int(m.group('cant_register')) + continue + + # Parse Invalid nat session + # Invalid nat session 0 + m = p30.match(line) + if m and current_section == 'nat_caching': + parsed[current_section]['invalid_nat_session'] = int(m.group('invalid_nat')) + continue + + # Parse No NAT session caching + # No NAT session caching 0 + m = p31.match(line) + if m and current_section == 'nat_caching': + parsed[current_section]['no_nat_session_caching'] = int(m.group('no_nat_caching')) + continue + + # Parse NAT cached session + # NAT cached session 0 + m = p32.match(line) + if m and current_section == 'nat_caching': + parsed[current_section]['nat_cached_session'] = int(m.group('nat_cached')) + continue + + # Parse L2 Firewall section + # L2 Firewall: + m = p33.match(line) + if m: + current_section = 'l2_firewall' + parsed[current_section] = {} + continue + + # Parse L2 unknown encap + # L2 unknown encap 0 + m = p34.match(line) + if m and current_section == 'l2_firewall': + parsed[current_section]['l2_unknown_encap'] = int(m.group('l2_unknown')) + continue + + # Parse L2 skip tcp pkt + # L2 skip tcp pkt 0 + m = p35.match(line) + if m and current_section == 'l2_firewall': + parsed[current_section]['l2_skip_tcp_pkt'] = int(m.group('l2_skip')) + continue + + # Parse Timer stop failed + # Timer stop failed 0 + m = p36.match(line) + if m and current_section == 'l2_firewall': + parsed[current_section]['timer_stop_failed'] = int(m.group('timer_stop')) + continue + + # Parse VRF Global Action Block + # VRF Global Action Block: + m = p37.match(line) + if m: + current_section = 'vrf_global_action_block' + parsed[current_section] = {} + current_subsection = None + continue + + # Parse Box Action Block + # Box Action Block: + m = p38.match(line) + if m: + current_section = 'box_action_block' + parsed[current_section] = {} + current_subsection = None + continue + + # Parse L7 Inspection disable flags + # L7 Inspection disable flags: 0x0 + m = p39.match(line) + if m and current_section in ['vrf_global_action_block', 'box_action_block']: + parsed[current_section]['l7_inspection_disable_flags'] = m.group('l7_flags') + continue + + # Parse Total Sessions + # Total Sessions: + m = p40.match(line) + if m and current_section in ['vrf_global_action_block', 'box_action_block']: + current_subsection = 'total_sessions' + parsed[current_section][current_subsection] = {} + continue + + # Parse session limits + # max limit: 4294967295, current count: 0, exceed: 0 + m = p41.match(line) + if m and current_subsection == 'total_sessions': + parsed[current_section][current_subsection].update({ + 'max_limit': int(m.group('max_limit')), + 'current_count': int(m.group('current_count')), + 'exceed': int(m.group('exceed')) + }) + continue + + # Parse aggr-age watermark + # aggr-age high watermark: 4294967295, low watermark: 0 + m = p42.match(line) + if m and current_subsection in ['total_sessions', 'total_half_open_sessions']: + parsed[current_section][current_subsection].update({ + 'aggr_age_high_watermark': int(m.group('high_watermark')), + 'aggr_age_low_watermark': int(m.group('low_watermark')) + }) + continue + + # Parse aggr-age period + # num of times enter aggr-age: 0, aggr-age period: off + m = p43.match(line) + if m and current_subsection in ['total_sessions', 'total_half_open_sessions']: + parsed[current_section][current_subsection].update({ + 'num_times_enter_aggr_age': int(m.group('num_times')), + 'aggr_age_period': m.group('period') + }) + continue + + # Parse TCP SYN Cookie + # TCP SYN Cookie: + m = p44.match(line) + if m and current_section in ['vrf_global_action_block', 'box_action_block']: + current_subsection = 'tcp_syn_cookie' + parsed[current_section][current_subsection] = {} + continue + + # Parse syn cookie limits + # max limit: 4294967295, current count: 0, exceed: 0 + m = p45.match(line) + if m and current_subsection == 'tcp_syn_cookie': + parsed[current_section][current_subsection].update({ + 'max_limit': int(m.group('max_limit')), + 'current_count': int(m.group('current_count')), + 'exceed': int(m.group('exceed')) + }) + continue + + # Parse Total Half Open Sessions + # Total Half Open Sessions: + m = p46.match(line) + if m and current_section in ['vrf_global_action_block', 'box_action_block']: + current_subsection = 'total_half_open_sessions' + parsed[current_section][current_subsection] = {} + continue + + # Parse TCP Half Open Sessions + # TCP Half Open Sessions: + m = p47.match(line) + if m and current_section in ['vrf_global_action_block', 'box_action_block']: + current_subsection = 'tcp_half_open_sessions' + parsed[current_section][current_subsection] = {} + continue + + # Parse UDP Half Open Sessions + # UDP Half Open Sessions: + m = p48.match(line) + if m and current_section in ['vrf_global_action_block', 'box_action_block']: + current_subsection = 'udp_half_open_sessions' + parsed[current_section][current_subsection] = {} + continue + + # Parse ICMP Half Open Sessions + # ICMP Half Open Sessions: + m = p49.match(line) + if m and current_section in ['vrf_global_action_block', 'box_action_block']: + current_subsection = 'icmp_half_open_sessions' + parsed[current_section][current_subsection] = {} + continue + + # Parse half open limits + # max limit: 4294967295, current count: 0, exceed: 0 + m = p50.match(line) + if m and current_subsection in ['tcp_half_open_sessions', 'udp_half_open_sessions', 'icmp_half_open_sessions', 'total_half_open_sessions']: + parsed[current_section][current_subsection].update({ + 'max_limit': int(m.group('max_limit')), + 'current_count': int(m.group('current_count')), + 'exceed': int(m.group('exceed')) + }) + continue + + # Parse Domain flags + # Domain flags: 0x0 + m = p51.match(line) + if m and current_section in ['vrf_global_action_block', 'box_action_block']: + parsed[current_section]['domain_flags'] = m.group('domain_flags') + continue + + # Parse Current count + # Current count:: + m = p52.match(line) + if m and current_section == 'box_action_block': + current_subsection = 'total_sessions' + parsed[current_section][current_subsection] = {} + continue + + # Parse Box total sessions + # Total Sessions 0 + m = p53.match(line) + if m and current_section == 'box_action_block' and current_subsection == 'total_sessions': + parsed[current_section][current_subsection]['current_count'] = int(m.group('current_count')) + continue + + # Parse FW persona + # FW persona alert_rlimit: 0, backpressure: 0x0 + m = p54.match(line) + if m: + parsed['fw_persona_alert_rlimit'] = int(m.group('alert_rlimit')) + parsed['fw_persona_backpressure'] = m.group('backpressure') + continue + + # Parse Invalid RG + # Invalid RG (exceeds max RG): 0 + m = p55.match(line) + if m: + parsed['invalid_rg_exceeds_max'] = int(m.group('invalid_rg')) + continue + + # Parse Invalid HA message version + # Invalid HA message version: 0 + m = p56.match(line) + if m: + parsed['invalid_ha_message_version'] = int(m.group('invalid_ha')) + continue + + # Parse RII Hash Table + # RII Hash Table: address 0x40b8ec10 size 128 + m = p57.match(line) + if m: + parsed['rii_hash_table'] = { + 'address': m.group('address'), + 'size': int(m.group('size')) + } + continue + + # Parse VRF Action Table + # VRF Action Table Addr 0x0x43abb000, Size 4096 + m = p58.match(line) + if m: + parsed['vrf_action_table'] = { + 'address': m.group('address'), + 'size': int(m.group('size')) + } + continue + + # Parse AVC stats + # AVC stats table index out-of-range 0 + m = p59.match(line) + if m: + parsed['avc_stats_table_index_out_of_range'] = int(m.group('avc_stats')) + continue + + # Parse VRF ID-Name Table + # VRF ID-Name Table: + m = p60.match(line) + if m: + current_section = 'vrf_id_name_table' + parsed[current_section] = {} + continue + + # Parse VRF entry + # VRF:(id=3:name=green) + m = p61.match(line) + if m and current_section == 'vrf_id_name_table': + vrf_key = f"vrf_{m.group('id')}" + current_vrf_entry = vrf_key + parsed[current_section][vrf_key] = { + 'id': int(m.group('id')), + 'name': m.group('name') + } + continue + + # Parse VRF hash + # vrf_namehash 9f27410725ab8cc8 ipv4 3, ipv6 503316483 + m = p62.match(line) + if m and current_vrf_entry and current_section == 'vrf_id_name_table': + parsed[current_section][current_vrf_entry].update({ + 'vrf_namehash': m.group('vrf_namehash'), + 'ipv4': int(m.group('ipv4')), + 'ipv6': int(m.group('ipv6')) + }) + continue + + # Parse fw_persona and vpn zone table + # fw_persona: 0x820dbbf0 vpn zone table address: 0x42b07400, size 65536 + m = p63.match(line) + if m: + parsed['fw_persona_address'] = m.group('persona_address') + parsed['vpn_zone_table'] = { + 'address': m.group('vpn_address'), + 'size': int(m.group('vpn_size')) + } + continue + + return parsed + +# =============================================================== +# Schema for: +# * 'show platform hardware qfp active feature nat datapath gatein' +# * 'show platform hardware qfp active feature nat datapath gateout' +# =============================================================== +class ShowPlatformHardwareQfpActiveFeatureNatDatapathGateSchema(MetaParser): + """Schema for: + * 'show platform hardware qfp active feature nat datapath gatein' + * 'show platform hardware qfp active feature nat datapath gateout' + """ + + schema = { + 'gatekeeper_status': str, + Optional('entries'): { + Any(): { # sip address as key + 'sip': str, + 'vrf': int, + 'cnt': int, + 'ts': str, + 'idx': int, + } + } + } + +# =============================================================== +# Parser for: +# * 'show platform hardware qfp active feature nat datapath gatein' +# * 'show platform hardware qfp active feature nat datapath gateout' +# =============================================================== +class ShowPlatformHardwareQfpActiveFeatureNatDatapathGate(ShowPlatformHardwareQfpActiveFeatureNatDatapathGateSchema): + """Parser for: + * 'show platform hardware qfp active feature nat datapath gatein' + * 'show platform hardware qfp active feature nat datapath gateout' + """ + + cli_command = [ + 'show platform hardware qfp active feature nat datapath {direction}', + ] + + def cli(self, direction='gatein', output=None): + if output is None: + if direction in ['gatein', 'gateout']: + cmd = self.cli_command[0].format(direction=direction) + else: + cmd = self.cli_command[0].format(direction='gatein') # default to gatein + out = self.device.execute(cmd) + else: + out = output + + # Initial return dictionary + parsed_dict = {} + + # Gatekeeper on + p1 = re.compile(r'^Gatekeeper\s+(?P\w+)$') + + # sip 203.0.113.231 vrf 0 cnt 1 ts 0x17ba3f idx 74 + p2 = re.compile(r'^sip\s+(?P\S+)\s+vrf\s+(?P\d+)\s+cnt\s+(?P\d+)\s+ts\s+(?P0x[a-fA-F0-9]+)\s+idx\s+(?P\d+)$') + + gatekeeper_status = None + entries_found = False + + for line in out.splitlines(): + line = line.strip() + + # Gatekeeper on + m = p1.match(line) + if m: + gatekeeper_status = m.groupdict()['status'] + continue + + # sip 203.0.113.231 vrf 0 cnt 1 ts 0x17ba3f idx 74 + m = p2.match(line) + if m: + entries_found = True + group = m.groupdict() + sip = group['sip'] + + # Only add gatekeeper_status when we have actual entries + if gatekeeper_status is not None and 'gatekeeper_status' not in parsed_dict: + parsed_dict['gatekeeper_status'] = gatekeeper_status + + entries = parsed_dict.setdefault('entries', {}) + entry = entries.setdefault(sip, {}) + + entry['sip'] = sip + entry['vrf'] = int(group['vrf']) + entry['cnt'] = int(group['cnt']) + entry['ts'] = group['ts'] + entry['idx'] = int(group['idx']) + continue + return parsed_dict + + +class ShowPlatformHardwareCppActiveSystemStateSchema(MetaParser): + """Schema for show platform hardware cpp active system state""" + schema = { + 'cpp_ha': str, + 'cpp_cp': str, + 'cpp_sp': str, + 'fman_fp': str, + 'cpp_driver0': str, + 'platform_state': { + 'curr': str, + 'next': str + }, + 'ha_state': { + 'cpp': int, + 'dir': str, + 'role': { + 'curr': str, + 'next': str + } + }, + 'client_state': str, + 'image': str, + 'load_cnt': int, + 'time': str, + 'active_threads': str, + 'fault_manager_flags': { + 'ignore_fault': str, + 'ignore_stuck_thread': str, + 'crashdump_in_progress': str + } + } + + +class ShowPlatformHardwareCppActiveSystemState(ShowPlatformHardwareCppActiveSystemStateSchema): + """Parser for show platform hardware cpp active system state""" + + cli_command = "show platform hardware cpp active system state" + + def cli(self, output=None): + if output is None: + output = self.device.execute(self.cli_command) + + # Initialize the dictionary to store parsed data + ret_dict = {} + + # cpp_cp : Initialized + # cpp_sp : Initialized + # FMAN-FP : Initialized + # cpp_driver0 : Initialized + p1 = re.compile(r'^(?P\w+(?:-\w+)*)\s*:\s*(?P\w+)\s*$') + + # Platform State: curr=ACTIVE_SOLO next=ACTIVE_SOLO + p2 = re.compile(r'^Platform State:\s*curr=(?P\S+)\s*next=(?P\S+)\s*$') + + # HA State: CPP=0 dir=BOTH Role: curr=ACTIVE_SOLO next=ACTIVE_SOLO + p3 = re.compile(r'^HA State:\s*CPP=(?P\d+)\s*dir=(?P\S+)\s*Role:\s*curr=(?P\S+)\s*next=(?P\S+)\s*$') + + # Client State: ENABLE + p4 = re.compile(r'^Client State:\s*(?P\S+)\s*$') + + # Image: /tmp/sw/fp/0/0/fp/mount/usr/cpp/bin/qfp-ucode-fugazi + p5 = re.compile(r'^Image:\s*(?P\S+)\s*$') + + # Load Cnt: 1 Time: Sep 04, 2025 01:36:17 + p6 = re.compile(r'^Load Cnt:\s*(?P\d+)\s*Time:\s*(?P