From 6cd1f02ba285fd668de58a531df7ca7eb68a56d8 Mon Sep 17 00:00:00 2001 From: PavloSkliarenko <78343937+PavloSkliarenko@users.noreply.github.com> Date: Mon, 22 Jul 2024 18:59:41 +0400 Subject: [PATCH] Add IOS 'show arp' template (#1474) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --------- Co-authored-by: pskliarenko <“pskliarenko@bsh.ru”> Co-authored-by: Jacob McGill <9847006+jmcgill298@users.noreply.github.com> --- .../templates/cisco_ios_show_arp.textfsm | 16 ++++++++++ ntc_templates/templates/index | 1 + .../cisco_ios/show_arp/cisco_ios_show_arp.raw | 6 ++++ .../cisco_ios/show_arp/cisco_ios_show_arp.yml | 32 +++++++++++++++++++ 4 files changed, 55 insertions(+) create mode 100644 ntc_templates/templates/cisco_ios_show_arp.textfsm create mode 100644 tests/cisco_ios/show_arp/cisco_ios_show_arp.raw create mode 100644 tests/cisco_ios/show_arp/cisco_ios_show_arp.yml diff --git a/ntc_templates/templates/cisco_ios_show_arp.textfsm b/ntc_templates/templates/cisco_ios_show_arp.textfsm new file mode 100644 index 0000000000..b01b3460d9 --- /dev/null +++ b/ntc_templates/templates/cisco_ios_show_arp.textfsm @@ -0,0 +1,16 @@ +Value PROTOCOL (\S+) +Value ADDRESS (\S+) +Value AGE_MIN (\S+) +Value HARDWARE_ADDRESS ((?:([a-f0-9]{4}\.){2}[a-f0-9]{4})|Incomplete) +Value TYPE (\S+) +Value INTERFACE (\S+) + +Start + ^\s*Protocol\s+Address\s+Age\s+\(min\)\s+Hardware\s+Addr\s+Type\s+Interface\s*$$ -> ArpTable + ^\s*$$ + ^. -> Error + +ArpTable + ^\s*${PROTOCOL}\s+${ADDRESS}\s+${AGE_MIN}\s+${HARDWARE_ADDRESS}\s+${TYPE}(?:\s+${INTERFACE})?\s*$$ -> Record + ^\s*$$ + ^. -> Error diff --git a/ntc_templates/templates/index b/ntc_templates/templates/index index 90754e41eb..60b66e2c86 100644 --- a/ntc_templates/templates/index +++ b/ntc_templates/templates/index @@ -331,6 +331,7 @@ cisco_ios_show_vlans.textfsm, .*, cisco_ios, sh[[ow]] vlans cisco_ios_traceroute.textfsm, .*, cisco_ios, tr[[aceroute]] cisco_ios_show_boot.textfsm, .*, cisco_ios, sh[[ow]] boot cisco_ios_show_vlan.textfsm, .*, cisco_ios, sh[[ow]] vlan +cisco_ios_show_arp.textfsm, .*, cisco_ios, sh[[ow]] arp cisco_ios_show_vrf.textfsm, .*, cisco_ios, sh[[ow]] vrf cisco_ios_ping.textfsm, .*, cisco_ios, ping cisco_ios_dir.textfsm, .*, cisco_ios, dir diff --git a/tests/cisco_ios/show_arp/cisco_ios_show_arp.raw b/tests/cisco_ios/show_arp/cisco_ios_show_arp.raw new file mode 100644 index 0000000000..3fc0b4827c --- /dev/null +++ b/tests/cisco_ios/show_arp/cisco_ios_show_arp.raw @@ -0,0 +1,6 @@ +Protocol Address Age (min) Hardware Addr Type Interface +Internet 10.100.88.1 - c4f7.d564.b716 ARPA Vlan10 +Internet 10.100.88.199 0 Incomplete ARPA +Internet 10.152.1.229 0 488f.5a5a.87ea ARPA Vlan1 +Internet 1.2.3.4 0 c4ad.3425.b7be ARPA FastEthernet4 +Internet 1.2.3.5 - c4f7.d564.b71a ARPA FastEthernet4 diff --git a/tests/cisco_ios/show_arp/cisco_ios_show_arp.yml b/tests/cisco_ios/show_arp/cisco_ios_show_arp.yml new file mode 100644 index 0000000000..222a2d01d6 --- /dev/null +++ b/tests/cisco_ios/show_arp/cisco_ios_show_arp.yml @@ -0,0 +1,32 @@ +--- +parsed_sample: + - address: "10.100.88.1" + age_min: "-" + hardware_address: "c4f7.d564.b716" + interface: "Vlan10" + protocol: "Internet" + type: "ARPA" + - address: "10.100.88.199" + age_min: "0" + hardware_address: "Incomplete" + interface: "" + protocol: "Internet" + type: "ARPA" + - address: "10.152.1.229" + age_min: "0" + hardware_address: "488f.5a5a.87ea" + interface: "Vlan1" + protocol: "Internet" + type: "ARPA" + - address: "1.2.3.4" + age_min: "0" + hardware_address: "c4ad.3425.b7be" + interface: "FastEthernet4" + protocol: "Internet" + type: "ARPA" + - address: "1.2.3.5" + age_min: "-" + hardware_address: "c4f7.d564.b71a" + interface: "FastEthernet4" + protocol: "Internet" + type: "ARPA"