From adfadeea6d700c75bb535151cae02a18f687cf72 Mon Sep 17 00:00:00 2001 From: Laurent B <46713444+Ardeck@users.noreply.github.com> Date: Fri, 24 Oct 2025 13:01:37 +0000 Subject: [PATCH] Add cisco_nxos_show_interface_capabilities template and tests --- ...o_nxos_show_interface_capabilities.textfsm | 49 ++++++++++++++++++ ntc_templates/templates/index | 1 + ...cisco_nxos_show_interface_capabilities.raw | 50 +++++++++++++++++++ ...cisco_nxos_show_interface_capabilities.yml | 48 ++++++++++++++++++ 4 files changed, 148 insertions(+) create mode 100644 ntc_templates/templates/cisco_nxos_show_interface_capabilities.textfsm create mode 100644 tests/cisco_nxos/show_interface_capabilities/cisco_nxos_show_interface_capabilities.raw create mode 100644 tests/cisco_nxos/show_interface_capabilities/cisco_nxos_show_interface_capabilities.yml diff --git a/ntc_templates/templates/cisco_nxos_show_interface_capabilities.textfsm b/ntc_templates/templates/cisco_nxos_show_interface_capabilities.textfsm new file mode 100644 index 0000000000..83786778f9 --- /dev/null +++ b/ntc_templates/templates/cisco_nxos_show_interface_capabilities.textfsm @@ -0,0 +1,49 @@ +Value Required INTERFACE (\S+) +Value MODEL (.+?) +Value TYPE (\S+) +Value TYPEDETAIL (.+) +Value SPEED (.+?) +Value DUPLEX (.+?) +Value TRUNK_ENCAP_TYPE (.+?) +Value TRUNK_MODE (.+?) +Value CHANNEL (.+?) +Value BROADCAST_SUPPRESSION (.+?) +Value UNICAST_SUPPRESSION (.+?) +Value MULTICAST_SUPPRESSION (.+?) +Value FLOWCONTROL (.+?) +Value FAST_START (.+?) +Value QOS_SCHEDULING (.+?) +Value COS_REWRITE (.+?) +Value TOS_REWRITE (.+?) +Value UDLD (.+?) +Value INLINE_POWER (.+?) +Value SPAN (.+?) +Value PORTSECURE (.+?) +Value DOT1X (.+?) +Value BREAKOUT_SUPPORT (.+?) + +Start + ^\S+$$ -> Continue.Record + ^${INTERFACE}$$ + ^\s+Model:\s+${MODEL}\s*$$ -> Continue + ^\s+Type\s+\(${TYPEDETAIL}\):\s+${TYPE}\s*$$ + ^\s+Type:\s+${TYPE}\s*$$ + ^\s+Speed:\s+${SPEED}\s*$$ + ^\s+Duplex:\s+${DUPLEX}\s*$$ + ^\s+Trunk encap. type:\s+${TRUNK_ENCAP_TYPE}\s*$$ + ^\s+Trunk mode:\s+${TRUNK_MODE}\s*$$ + ^\s+Channel:\s+${CHANNEL}\s*$$ + ^\s+Broadcast suppression:\s+${BROADCAST_SUPPRESSION}\s*$$ + ^\s+Unicast suppression:\s+${UNICAST_SUPPRESSION}\s*$$ + ^\s+Multicast suppression:\s+${MULTICAST_SUPPRESSION}\s*$$ + ^\s+Flowcontrol:\s+${FLOWCONTROL}\s*$$ + ^\s+Fast Start:\s+${FAST_START}\s*$$ + ^\s+QoS scheduling:\s+${QOS_SCHEDULING}\s*$$ + ^\s+CoS rewrite:\s+${COS_REWRITE}\s*$$ + ^\s+ToS rewrite:\s+${TOS_REWRITE}\s*$$ + ^\s+UDLD:\s+${UDLD}\s*$$ + ^\s+Inline power:\s+${INLINE_POWER}\s*$$ + ^\s+SPAN:\s+${SPAN}\s*$$ + ^\s+PortSecure:\s+${PORTSECURE}\s*$$ + ^\s+Dot1x:\s+${DOT1X}\s*$$ + ^\s+Breakout Support:\s+${BREAKOUT_SUPPORT}\s*$$ diff --git a/ntc_templates/templates/index b/ntc_templates/templates/index index e0be02aa9f..3548b0f520 100644 --- a/ntc_templates/templates/index +++ b/ntc_templates/templates/index @@ -409,6 +409,7 @@ cisco_nxos_show_environment_temperature.textfsm, .*, cisco_nxos, sh[[ow]] env[[i cisco_nxos_show_ip_msdp_summary_vrf_all.textfsm, .*, cisco_nxos, sh[[ow]] ip msdp summary vrf all cisco_nxos_show_ip_ospf_interface_brief.textfsm, .*, cisco_nxos, sh[[ow]] ip ospf int[[erface]] b[[rief]](?: vrf \S+)?\s*$ cisco_nxos_show_ip_pim_neighbor_vrf_all.textfsm, .*, cisco_nxos, sh[[ow]] ip pim nei[[ghbor]] vrf all +cisco_nxos_show_interface_capabilities.textfsm, .*, cisco_nxos, sh[[ow]] int[[erface]](?: (?:\S+))? cap[[abilities]] cisco_nxos_show_interface_snmp-ifindex.textfsm, .*, cisco_nxos, sh[[ow]] int[[erface]] sn[[mp-ifindex]] cisco_nxos_show_forwarding_ipv4_route.textfsm, .*, cisco_nxos, sh[[ow]] fo[[rwarding]] ipv4 ro[[ute]] cisco_nxos_show_interface_description.textfsm, .*, cisco_nxos, sh[[ow]] int[[erface]] desc[[ription]] diff --git a/tests/cisco_nxos/show_interface_capabilities/cisco_nxos_show_interface_capabilities.raw b/tests/cisco_nxos/show_interface_capabilities/cisco_nxos_show_interface_capabilities.raw new file mode 100644 index 0000000000..68b29d49fe --- /dev/null +++ b/tests/cisco_nxos/show_interface_capabilities/cisco_nxos_show_interface_capabilities.raw @@ -0,0 +1,50 @@ +Ethernet1/1 + Model: N5600-48Q-12Q-FIX + Type (SFP capable): QSFP-40G-SR-BD + Speed: 40000 + Duplex: full + Trunk encap. type: 802.1Q + Channel: yes + Broadcast suppression: no + Flowcontrol: rx-(off/on),tx-(off/on) + Rate mode: none + QOS scheduling: rx-(6q1t),tx-(1p6q0t) + CoS rewrite: no + ToS rewrite: no + SPAN: yes + UDLD: yes + MDIX: no + Link Debounce: yes + Link Debounce Time: yes + dot1Q-tunnel mode: yes + Pvlan Trunk capable: yes + TDR capable: no + FabricPath capable: yes + Port mode: Switched + FEX Fabric: yes + +Ethernet101/1/23 + Model: N2K-C2348TQ-10G-E + Type (Non SFP): 1G/10G + Speed: 100,1000,10000,auto + Duplex: full + Trunk encap. type: 802.1Q + Channel: yes + Broadcast suppression: no + Flowcontrol: rx-(off/on),tx-(off/on) + Rate mode: none + QOS scheduling: rx-(6q1t),tx-(1p6q0t) + CoS rewrite: no + ToS rewrite: no + SPAN: yes + UDLD: no + MDIX: no + Link Debounce: yes + Link Debounce Time: yes + dot1Q-tunnel mode: yes + Pvlan Trunk capable: yes + TDR capable: no + FabricPath capable: no + Port mode: Switched + FEX Fabric: no + diff --git a/tests/cisco_nxos/show_interface_capabilities/cisco_nxos_show_interface_capabilities.yml b/tests/cisco_nxos/show_interface_capabilities/cisco_nxos_show_interface_capabilities.yml new file mode 100644 index 0000000000..49b0cd517e --- /dev/null +++ b/tests/cisco_nxos/show_interface_capabilities/cisco_nxos_show_interface_capabilities.yml @@ -0,0 +1,48 @@ +--- +parsed_sample: +- interface: "Ethernet1/1" + model: "N5600-48Q-12Q-FIX" + type: "QSFP-40G-SR-BD" + typedetail: "SFP capable" + speed: "40000" + duplex: "full" + trunk_encap_type: "802.1Q" + trunk_mode: "" + channel: "yes" + broadcast_suppression: "no" + unicast_suppression: "" + multicast_suppression: "" + flowcontrol: "rx-(off/on),tx-(off/on)" + fast_start: "" + qos_scheduling: "" + cos_rewrite: "no" + tos_rewrite: "no" + udld: "yes" + inline_power: "" + span: "yes" + portsecure: "" + dot1x: "" + breakout_support: "" +- interface: "Ethernet101/1/23" + model: "N2K-C2348TQ-10G-E" + type: "1G/10G" + typedetail: "Non SFP" + speed: "100,1000,10000,auto" + duplex: "full" + trunk_encap_type: "802.1Q" + trunk_mode: "" + channel: "yes" + broadcast_suppression: "no" + unicast_suppression: "" + multicast_suppression: "" + flowcontrol: "rx-(off/on),tx-(off/on)" + fast_start: "" + qos_scheduling: "" + cos_rewrite: "no" + tos_rewrite: "no" + udld: "no" + inline_power: "" + span: "yes" + portsecure: "" + dot1x: "" + breakout_support: ""