From 122d342912341af1d12afef01e9ee3c9b6726b90 Mon Sep 17 00:00:00 2001 From: Joe Garcia Date: Wed, 10 Jun 2020 13:56:39 -0400 Subject: [PATCH 1/5] added arista_eos_show_port-channel_summary --- ...ista_eos_show_port-channel_summary.textfsm | 29 ++ templates/index | 2 + .../arista_eos_show_port-channel_summary.raw | 55 +++ .../arista_eos_show_port-channel_summary.yml | 332 ++++++++++++++++++ 4 files changed, 418 insertions(+) create mode 100644 templates/arista_eos_show_port-channel_summary.textfsm create mode 100644 tests/arista_eos/show_port-channel_summary/arista_eos_show_port-channel_summary.raw create mode 100644 tests/arista_eos/show_port-channel_summary/arista_eos_show_port-channel_summary.yml diff --git a/templates/arista_eos_show_port-channel_summary.textfsm b/templates/arista_eos_show_port-channel_summary.textfsm new file mode 100644 index 0000000000..35cb0dd057 --- /dev/null +++ b/templates/arista_eos_show_port-channel_summary.textfsm @@ -0,0 +1,29 @@ +Value PORT_CHANNEL (Po\d+) +Value PORT_CHANNEL_STATUS (\(\w+\)) +Value PROTOCOL (\w+) +Value PROTOCOL_STATE ((\(\w+\*\)|\(\w+\))) +Value List PHYS_IFACE (Et.+?) +Value List PHYS_IFACE_STATUS (\(.+?\)) + + +Start + ^Flags -> PCS +# ^\s+Port-Channel\s+Protocol\s+Ports\s+$$ -> PCS + ^\s*$$ + ^. -> Error + + + +PCS + ^\s*Po\d+ -> Continue.Record + ^\s*${PORT_CHANNEL}${PORT_CHANNEL_STATUS}\s+${PROTOCOL}${PROTOCOL_STATE}\s+${PHYS_IFACE}${PHYS_IFACE_STATUS}(\s|$$) -> Continue + ^\s*Po\d+\(\w+\)\s+\w+(\(\w+\*\)|\(\w+\))\s+(Et.+?\(.+?\)\s){1}${PHYS_IFACE}${PHYS_IFACE_STATUS}(\s|$$) -> Continue + ^\s*Po\d+\(\w+\)\s+\w+(\(\w+\*\)|\(\w+\))\s+(Et.+?\(.+?\)\s){2}${PHYS_IFACE}${PHYS_IFACE_STATUS}(\s|$$) -> Continue + ^\s*Po\d+\(\w+\)\s+\w+(\(\w+\*\)|\(\w+\))\s+(Et.+?\(.+?\)\s){3}${PHYS_IFACE}${PHYS_IFACE_STATUS}(\s|$$) -> Continue + ^\s*Po\d+\(\w+\)\s+\w+(\(\w+\*\)|\(\w+\))\s+(Et.+?\(.+?\)\s){4}${PHYS_IFACE}${PHYS_IFACE_STATUS}(\s|$$) -> Continue + ^\s+${PHYS_IFACE}${PHYS_IFACE_STATUS}(\s|$$) -> Continue + ^\s+\s+(Et.+?\(.+?\)\s){1}${PHYS_IFACE}${PHYS_IFACE_STATUS}(\s|$$) -> Continue + ^\s+\s+(Et.+?\(.+?\)\s){2}${PHYS_IFACE}${PHYS_IFACE_STATUS}(\s|$$) -> Continue + ^\s+\s+(Et.+?\(.+?\)\s){3}${PHYS_IFACE}${PHYS_IFACE_STATUS}(\s|$$) -> Continue + ^\s+\s+(Et.+?\(.+?\)\s){4}${PHYS_IFACE}${PHYS_IFACE_STATUS}(\s|$$) -> Continue + diff --git a/templates/index b/templates/index index 9af34272f3..162d8a03ab 100644 --- a/templates/index +++ b/templates/index @@ -24,6 +24,7 @@ arista_eos_show_environment_temperature.textfsm, .*, arista_eos, sh[[ow]] en[[vi arista_eos_show_interfaces_transceiver.textfsm, .*, arista_eos, sh[[ow]] inte[[rfaces]] tr[[ansceiver]] arista_eos_show_mac_security_interface.textfsm, .*, arista_eos, sh[[ow]] ma[[c]] secu[[rity]] int[[erface]] arista_eos_show_lldp_neighbors_detail.textfsm, .*, arista_eos, sh[[ow]] ll[[dp]] nei[[ghbors]] d[[etail]] +arista_eos_show_port-channel_summary.textfsm, .*, arista_eos, sh[[ow]] port-c[[hannel]] s[[ummary]] arista_eos_show_environment_cooling.textfsm, .*, arista_eos, sh[[ow]] en[[vironment]] c[[ooling]] arista_eos_show_ip_interface_brief.textfsm, .*, arista_eos, sh[[ow]] i[[p]] int[[erface]] br[[ief]] arista_eos_show_interfaces_status.textfsm, .*, arista_eos, sh[[ow]] int[[erfaces]] st[[atus]] @@ -53,6 +54,7 @@ arista_eos_show_mlag.textfsm, .*, arista_eos, sh[[ow]] ml[[ag]] arista_eos_show_vlan.textfsm, .*, arista_eos, sh[[ow]] vl[[an]] arista_eos_show_vrf.textfsm, .*, arista_eos, sh[[ow]] vrf + aruba_os_show_ipv6_interface_brief.textfsm, .*, aruba_os, sh[[ow]] ipv6 in[[terface]] b[[rief]] aruba_os_show_ip_interface_brief.textfsm, .*, aruba_os, sh[[ow]] ip in[[terface]] b[[rief]] aruba_os_show_arp.textfsm, .*, aruba_os, sh[[ow]] arp diff --git a/tests/arista_eos/show_port-channel_summary/arista_eos_show_port-channel_summary.raw b/tests/arista_eos/show_port-channel_summary/arista_eos_show_port-channel_summary.raw new file mode 100644 index 0000000000..ce4d3a1697 --- /dev/null +++ b/tests/arista_eos/show_port-channel_summary/arista_eos_show_port-channel_summary.raw @@ -0,0 +1,55 @@ +Flags +-------------------------- ----------------------------- ------------------------- + a - LACP Active p - LACP Passive * - static fallback + F - Fallback enabled f - Fallback configured ^ - individual fallback + U - In Use D - Down + + - In-Sync - - Out-of-Sync i - incompatible with agg + P - bundled in Po s - suspended G - Aggregable + I - Individual S - ShortTimeout w - wait for agg + +Number of channels in use: 1 +Number of aggregators: 1 + + Port-Channel Protocol Ports +------------------ --------------- -------------------------------- + Po105(D) LACP(aF*) Et5(D) + Po106(D) LACP(aF*) Et6(D) + Po107(D) LACP(aF*) Et7(D) + Po108(D) LACP(aF*) Et8(D) + Po109(D) LACP(aF*) Et9(D) + Po110(D) LACP(aF*) Et10(D) + Po111(D) LACP(aF*) Et11(D) + Po112(D) LACP(aF*) Et12(D) + Po113(D) LACP(aF*) Et13(D) + Po114(D) LACP(aF*) Et14(D) + Po115(D) LACP(aF*) Et15(D) + Po116(D) LACP(aF*) Et16(D) + Po117(D) LACP(aF*) Et17(D) + Po118(D) LACP(aF*) Et18(D) + Po119(D) LACP(aF*) Et19(D) + Po120(D) LACP(aF*) Et20(D) + Po121(D) LACP(aF*) Et21(D) + Po122(D) LACP(aF*) Et22(D) + Po123(D) LACP(aF*) Et23(D) + Po124(D) LACP(aF*) Et24(D) + Po125(D) LACP(aF*) Et25(D) + Po126(D) LACP(aF*) Et26(D) + Po127(D) LACP(aF*) Et27(D) + Po128(D) LACP(aF*) Et28(D) + Po129(D) LACP(aF*) Et29(D) + Po130(D) LACP(aF*) Et30(D) + Po131(D) LACP(aF*) Et31(D) + Po132(D) LACP(aF*) Et32(D) + Po133(D) LACP(aF*) Et33(D) + Po134(D) LACP(aF*) Et34(D) + Po135(D) LACP(aF*) Et35(D) + Po136(D) LACP(aF*) Et36(D) + Po137(D) LACP(aF*) Et37(D) + Po138(D) LACP(aF*) Et38(D) + Po139(D) LACP(aF*) Et39(D) + Po140(D) LACP(aF*) Et40(D) + Po141(D) LACP(aF*) Et41(D) + Po142(D) LACP(aF*) Et42(D) + Po146(D) LACP(aF*) Et43(D) Et44(D) Et45(D) Et46(D) + Et47(D) + Po2000(U) LACP(a) Et54/1(PG+) \ No newline at end of file diff --git a/tests/arista_eos/show_port-channel_summary/arista_eos_show_port-channel_summary.yml b/tests/arista_eos/show_port-channel_summary/arista_eos_show_port-channel_summary.yml new file mode 100644 index 0000000000..f0e1ebc3cb --- /dev/null +++ b/tests/arista_eos/show_port-channel_summary/arista_eos_show_port-channel_summary.yml @@ -0,0 +1,332 @@ +--- +parsed_sample: + - port_channel: "Po105" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et5" + phys_iface_status: + - "(D)" + - port_channel: "Po106" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et6" + phys_iface_status: + - "(D)" + - port_channel: "Po107" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et7" + phys_iface_status: + - "(D)" + - port_channel: "Po108" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et8" + phys_iface_status: + - "(D)" + - port_channel: "Po109" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et9" + phys_iface_status: + - "(D)" + - port_channel: "Po110" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et10" + phys_iface_status: + - "(D)" + - port_channel: "Po111" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et11" + phys_iface_status: + - "(D)" + - port_channel: "Po112" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et12" + phys_iface_status: + - "(D)" + - port_channel: "Po113" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et13" + phys_iface_status: + - "(D)" + - port_channel: "Po114" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et14" + phys_iface_status: + - "(D)" + - port_channel: "Po115" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et15" + phys_iface_status: + - "(D)" + - port_channel: "Po116" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et16" + phys_iface_status: + - "(D)" + - port_channel: "Po117" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et17" + phys_iface_status: + - "(D)" + - port_channel: "Po118" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et18" + phys_iface_status: + - "(D)" + - port_channel: "Po119" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et19" + phys_iface_status: + - "(D)" + - port_channel: "Po120" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et20" + phys_iface_status: + - "(D)" + - port_channel: "Po121" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et21" + phys_iface_status: + - "(D)" + - port_channel: "Po122" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et22" + phys_iface_status: + - "(D)" + - port_channel: "Po123" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et23" + phys_iface_status: + - "(D)" + - port_channel: "Po124" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et24" + phys_iface_status: + - "(D)" + - port_channel: "Po125" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et25" + phys_iface_status: + - "(D)" + - port_channel: "Po126" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et26" + phys_iface_status: + - "(D)" + - port_channel: "Po127" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et27" + phys_iface_status: + - "(D)" + - port_channel: "Po128" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et28" + phys_iface_status: + - "(D)" + - port_channel: "Po129" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et29" + phys_iface_status: + - "(D)" + - port_channel: "Po130" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et30" + phys_iface_status: + - "(D)" + - port_channel: "Po131" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et31" + phys_iface_status: + - "(D)" + - port_channel: "Po132" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et32" + phys_iface_status: + - "(D)" + - port_channel: "Po133" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et33" + phys_iface_status: + - "(D)" + - port_channel: "Po134" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et34" + phys_iface_status: + - "(D)" + - port_channel: "Po135" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et35" + phys_iface_status: + - "(D)" + - port_channel: "Po136" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et36" + phys_iface_status: + - "(D)" + - port_channel: "Po137" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et37" + phys_iface_status: + - "(D)" + - port_channel: "Po138" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et38" + phys_iface_status: + - "(D)" + - port_channel: "Po139" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et39" + phys_iface_status: + - "(D)" + - port_channel: "Po140" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et40" + phys_iface_status: + - "(D)" + - port_channel: "Po141" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et41" + phys_iface_status: + - "(D)" + - port_channel: "Po142" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et42" + phys_iface_status: + - "(D)" + - port_channel: "Po146" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et43" + - "Et44" + - "Et45" + - "Et46" + - "Et47" + - "Et48" + phys_iface_status: + - "(D)" + - "(D)" + - "(D)" + - "(D)" + - "(D)" + - "(D)" + - port_channel: "Po2000" + port_channel_status: "(U)" + protocol: "LACP" + protocol_state: "(a)" + phys_iface: + - "Et54/1" + phys_iface_status: + - "(PG+)" From 3334cf6cc9302f4992ffaa3e14f5b2916068d909 Mon Sep 17 00:00:00 2001 From: Joe Garcia Date: Wed, 10 Jun 2020 13:56:39 -0400 Subject: [PATCH 2/5] added arista_eos_show_port-channel_summary --- ...ista_eos_show_port-channel_summary.textfsm | 29 ++ templates/index | 2 + .../arista_eos_show_port-channel_summary.raw | 55 +++ .../arista_eos_show_port-channel_summary.yml | 332 ++++++++++++++++++ 4 files changed, 418 insertions(+) create mode 100644 templates/arista_eos_show_port-channel_summary.textfsm create mode 100644 tests/arista_eos/show_port-channel_summary/arista_eos_show_port-channel_summary.raw create mode 100644 tests/arista_eos/show_port-channel_summary/arista_eos_show_port-channel_summary.yml diff --git a/templates/arista_eos_show_port-channel_summary.textfsm b/templates/arista_eos_show_port-channel_summary.textfsm new file mode 100644 index 0000000000..35cb0dd057 --- /dev/null +++ b/templates/arista_eos_show_port-channel_summary.textfsm @@ -0,0 +1,29 @@ +Value PORT_CHANNEL (Po\d+) +Value PORT_CHANNEL_STATUS (\(\w+\)) +Value PROTOCOL (\w+) +Value PROTOCOL_STATE ((\(\w+\*\)|\(\w+\))) +Value List PHYS_IFACE (Et.+?) +Value List PHYS_IFACE_STATUS (\(.+?\)) + + +Start + ^Flags -> PCS +# ^\s+Port-Channel\s+Protocol\s+Ports\s+$$ -> PCS + ^\s*$$ + ^. -> Error + + + +PCS + ^\s*Po\d+ -> Continue.Record + ^\s*${PORT_CHANNEL}${PORT_CHANNEL_STATUS}\s+${PROTOCOL}${PROTOCOL_STATE}\s+${PHYS_IFACE}${PHYS_IFACE_STATUS}(\s|$$) -> Continue + ^\s*Po\d+\(\w+\)\s+\w+(\(\w+\*\)|\(\w+\))\s+(Et.+?\(.+?\)\s){1}${PHYS_IFACE}${PHYS_IFACE_STATUS}(\s|$$) -> Continue + ^\s*Po\d+\(\w+\)\s+\w+(\(\w+\*\)|\(\w+\))\s+(Et.+?\(.+?\)\s){2}${PHYS_IFACE}${PHYS_IFACE_STATUS}(\s|$$) -> Continue + ^\s*Po\d+\(\w+\)\s+\w+(\(\w+\*\)|\(\w+\))\s+(Et.+?\(.+?\)\s){3}${PHYS_IFACE}${PHYS_IFACE_STATUS}(\s|$$) -> Continue + ^\s*Po\d+\(\w+\)\s+\w+(\(\w+\*\)|\(\w+\))\s+(Et.+?\(.+?\)\s){4}${PHYS_IFACE}${PHYS_IFACE_STATUS}(\s|$$) -> Continue + ^\s+${PHYS_IFACE}${PHYS_IFACE_STATUS}(\s|$$) -> Continue + ^\s+\s+(Et.+?\(.+?\)\s){1}${PHYS_IFACE}${PHYS_IFACE_STATUS}(\s|$$) -> Continue + ^\s+\s+(Et.+?\(.+?\)\s){2}${PHYS_IFACE}${PHYS_IFACE_STATUS}(\s|$$) -> Continue + ^\s+\s+(Et.+?\(.+?\)\s){3}${PHYS_IFACE}${PHYS_IFACE_STATUS}(\s|$$) -> Continue + ^\s+\s+(Et.+?\(.+?\)\s){4}${PHYS_IFACE}${PHYS_IFACE_STATUS}(\s|$$) -> Continue + diff --git a/templates/index b/templates/index index 2417fb92e1..f8ba99af8e 100644 --- a/templates/index +++ b/templates/index @@ -24,6 +24,7 @@ arista_eos_show_environment_temperature.textfsm, .*, arista_eos, sh[[ow]] en[[vi arista_eos_show_interfaces_transceiver.textfsm, .*, arista_eos, sh[[ow]] inte[[rfaces]] tr[[ansceiver]] arista_eos_show_mac_security_interface.textfsm, .*, arista_eos, sh[[ow]] ma[[c]] secu[[rity]] int[[erface]] arista_eos_show_lldp_neighbors_detail.textfsm, .*, arista_eos, sh[[ow]] ll[[dp]] nei[[ghbors]] d[[etail]] +arista_eos_show_port-channel_summary.textfsm, .*, arista_eos, sh[[ow]] port-c[[hannel]] s[[ummary]] arista_eos_show_environment_cooling.textfsm, .*, arista_eos, sh[[ow]] en[[vironment]] c[[ooling]] arista_eos_show_ip_interface_brief.textfsm, .*, arista_eos, sh[[ow]] i[[p]] int[[erface]] br[[ief]] arista_eos_show_interfaces_status.textfsm, .*, arista_eos, sh[[ow]] int[[erfaces]] st[[atus]] @@ -53,6 +54,7 @@ arista_eos_show_mlag.textfsm, .*, arista_eos, sh[[ow]] ml[[ag]] arista_eos_show_vlan.textfsm, .*, arista_eos, sh[[ow]] vl[[an]] arista_eos_show_vrf.textfsm, .*, arista_eos, sh[[ow]] vrf + aruba_os_show_ipv6_interface_brief.textfsm, .*, aruba_os, sh[[ow]] ipv6 in[[terface]] b[[rief]] aruba_os_show_ip_interface_brief.textfsm, .*, aruba_os, sh[[ow]] ip in[[terface]] b[[rief]] aruba_os_show_arp.textfsm, .*, aruba_os, sh[[ow]] arp diff --git a/tests/arista_eos/show_port-channel_summary/arista_eos_show_port-channel_summary.raw b/tests/arista_eos/show_port-channel_summary/arista_eos_show_port-channel_summary.raw new file mode 100644 index 0000000000..ce4d3a1697 --- /dev/null +++ b/tests/arista_eos/show_port-channel_summary/arista_eos_show_port-channel_summary.raw @@ -0,0 +1,55 @@ +Flags +-------------------------- ----------------------------- ------------------------- + a - LACP Active p - LACP Passive * - static fallback + F - Fallback enabled f - Fallback configured ^ - individual fallback + U - In Use D - Down + + - In-Sync - - Out-of-Sync i - incompatible with agg + P - bundled in Po s - suspended G - Aggregable + I - Individual S - ShortTimeout w - wait for agg + +Number of channels in use: 1 +Number of aggregators: 1 + + Port-Channel Protocol Ports +------------------ --------------- -------------------------------- + Po105(D) LACP(aF*) Et5(D) + Po106(D) LACP(aF*) Et6(D) + Po107(D) LACP(aF*) Et7(D) + Po108(D) LACP(aF*) Et8(D) + Po109(D) LACP(aF*) Et9(D) + Po110(D) LACP(aF*) Et10(D) + Po111(D) LACP(aF*) Et11(D) + Po112(D) LACP(aF*) Et12(D) + Po113(D) LACP(aF*) Et13(D) + Po114(D) LACP(aF*) Et14(D) + Po115(D) LACP(aF*) Et15(D) + Po116(D) LACP(aF*) Et16(D) + Po117(D) LACP(aF*) Et17(D) + Po118(D) LACP(aF*) Et18(D) + Po119(D) LACP(aF*) Et19(D) + Po120(D) LACP(aF*) Et20(D) + Po121(D) LACP(aF*) Et21(D) + Po122(D) LACP(aF*) Et22(D) + Po123(D) LACP(aF*) Et23(D) + Po124(D) LACP(aF*) Et24(D) + Po125(D) LACP(aF*) Et25(D) + Po126(D) LACP(aF*) Et26(D) + Po127(D) LACP(aF*) Et27(D) + Po128(D) LACP(aF*) Et28(D) + Po129(D) LACP(aF*) Et29(D) + Po130(D) LACP(aF*) Et30(D) + Po131(D) LACP(aF*) Et31(D) + Po132(D) LACP(aF*) Et32(D) + Po133(D) LACP(aF*) Et33(D) + Po134(D) LACP(aF*) Et34(D) + Po135(D) LACP(aF*) Et35(D) + Po136(D) LACP(aF*) Et36(D) + Po137(D) LACP(aF*) Et37(D) + Po138(D) LACP(aF*) Et38(D) + Po139(D) LACP(aF*) Et39(D) + Po140(D) LACP(aF*) Et40(D) + Po141(D) LACP(aF*) Et41(D) + Po142(D) LACP(aF*) Et42(D) + Po146(D) LACP(aF*) Et43(D) Et44(D) Et45(D) Et46(D) + Et47(D) + Po2000(U) LACP(a) Et54/1(PG+) \ No newline at end of file diff --git a/tests/arista_eos/show_port-channel_summary/arista_eos_show_port-channel_summary.yml b/tests/arista_eos/show_port-channel_summary/arista_eos_show_port-channel_summary.yml new file mode 100644 index 0000000000..f0e1ebc3cb --- /dev/null +++ b/tests/arista_eos/show_port-channel_summary/arista_eos_show_port-channel_summary.yml @@ -0,0 +1,332 @@ +--- +parsed_sample: + - port_channel: "Po105" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et5" + phys_iface_status: + - "(D)" + - port_channel: "Po106" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et6" + phys_iface_status: + - "(D)" + - port_channel: "Po107" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et7" + phys_iface_status: + - "(D)" + - port_channel: "Po108" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et8" + phys_iface_status: + - "(D)" + - port_channel: "Po109" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et9" + phys_iface_status: + - "(D)" + - port_channel: "Po110" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et10" + phys_iface_status: + - "(D)" + - port_channel: "Po111" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et11" + phys_iface_status: + - "(D)" + - port_channel: "Po112" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et12" + phys_iface_status: + - "(D)" + - port_channel: "Po113" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et13" + phys_iface_status: + - "(D)" + - port_channel: "Po114" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et14" + phys_iface_status: + - "(D)" + - port_channel: "Po115" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et15" + phys_iface_status: + - "(D)" + - port_channel: "Po116" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et16" + phys_iface_status: + - "(D)" + - port_channel: "Po117" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et17" + phys_iface_status: + - "(D)" + - port_channel: "Po118" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et18" + phys_iface_status: + - "(D)" + - port_channel: "Po119" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et19" + phys_iface_status: + - "(D)" + - port_channel: "Po120" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et20" + phys_iface_status: + - "(D)" + - port_channel: "Po121" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et21" + phys_iface_status: + - "(D)" + - port_channel: "Po122" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et22" + phys_iface_status: + - "(D)" + - port_channel: "Po123" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et23" + phys_iface_status: + - "(D)" + - port_channel: "Po124" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et24" + phys_iface_status: + - "(D)" + - port_channel: "Po125" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et25" + phys_iface_status: + - "(D)" + - port_channel: "Po126" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et26" + phys_iface_status: + - "(D)" + - port_channel: "Po127" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et27" + phys_iface_status: + - "(D)" + - port_channel: "Po128" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et28" + phys_iface_status: + - "(D)" + - port_channel: "Po129" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et29" + phys_iface_status: + - "(D)" + - port_channel: "Po130" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et30" + phys_iface_status: + - "(D)" + - port_channel: "Po131" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et31" + phys_iface_status: + - "(D)" + - port_channel: "Po132" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et32" + phys_iface_status: + - "(D)" + - port_channel: "Po133" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et33" + phys_iface_status: + - "(D)" + - port_channel: "Po134" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et34" + phys_iface_status: + - "(D)" + - port_channel: "Po135" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et35" + phys_iface_status: + - "(D)" + - port_channel: "Po136" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et36" + phys_iface_status: + - "(D)" + - port_channel: "Po137" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et37" + phys_iface_status: + - "(D)" + - port_channel: "Po138" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et38" + phys_iface_status: + - "(D)" + - port_channel: "Po139" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et39" + phys_iface_status: + - "(D)" + - port_channel: "Po140" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et40" + phys_iface_status: + - "(D)" + - port_channel: "Po141" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et41" + phys_iface_status: + - "(D)" + - port_channel: "Po142" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et42" + phys_iface_status: + - "(D)" + - port_channel: "Po146" + port_channel_status: "(D)" + protocol: "LACP" + protocol_state: "(aF*)" + phys_iface: + - "Et43" + - "Et44" + - "Et45" + - "Et46" + - "Et47" + - "Et48" + phys_iface_status: + - "(D)" + - "(D)" + - "(D)" + - "(D)" + - "(D)" + - "(D)" + - port_channel: "Po2000" + port_channel_status: "(U)" + protocol: "LACP" + protocol_state: "(a)" + phys_iface: + - "Et54/1" + phys_iface_status: + - "(PG+)" From a605d35224497f6bd0deaad20e738eb982ac324c Mon Sep 17 00:00:00 2001 From: Joe Garcia Date: Wed, 10 Jun 2020 14:12:19 -0400 Subject: [PATCH 3/5] I goofed, but I also cleaned up after myself, so winning! --- .../arista_eos_show_port-channel_summary.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/arista_eos/show_port-channel_summary/arista_eos_show_port-channel_summary.yml b/tests/arista_eos/show_port-channel_summary/arista_eos_show_port-channel_summary.yml index f0e1ebc3cb..b56cdb2e5c 100644 --- a/tests/arista_eos/show_port-channel_summary/arista_eos_show_port-channel_summary.yml +++ b/tests/arista_eos/show_port-channel_summary/arista_eos_show_port-channel_summary.yml @@ -314,14 +314,12 @@ parsed_sample: - "Et45" - "Et46" - "Et47" - - "Et48" phys_iface_status: - "(D)" - "(D)" - "(D)" - "(D)" - "(D)" - - "(D)" - port_channel: "Po2000" port_channel_status: "(U)" protocol: "LACP" From e8c367a6ca3f2cf872964c162676d83a4fe3e943 Mon Sep 17 00:00:00 2001 From: Joe Garcia Date: Thu, 11 Jun 2020 09:59:07 -0400 Subject: [PATCH 4/5] small bug fix --- templates/arista_eos_show_port-channel_summary.textfsm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/arista_eos_show_port-channel_summary.textfsm b/templates/arista_eos_show_port-channel_summary.textfsm index 35cb0dd057..d7b97a61d2 100644 --- a/templates/arista_eos_show_port-channel_summary.textfsm +++ b/templates/arista_eos_show_port-channel_summary.textfsm @@ -7,7 +7,7 @@ Value List PHYS_IFACE_STATUS (\(.+?\)) Start - ^Flags -> PCS + ^\s*Flags -> PCS # ^\s+Port-Channel\s+Protocol\s+Ports\s+$$ -> PCS ^\s*$$ ^. -> Error From 9d0c8b93371e62abc118afb42ffe96ffc507d0a0 Mon Sep 17 00:00:00 2001 From: Joe Garcia Date: Thu, 11 Jun 2020 12:26:21 -0400 Subject: [PATCH 5/5] suggested changes made --- ...ista_eos_show_port-channel_summary.textfsm | 35 +-- .../arista_eos_show_port-channel_summary.yml | 252 +++++++++--------- 2 files changed, 145 insertions(+), 142 deletions(-) diff --git a/templates/arista_eos_show_port-channel_summary.textfsm b/templates/arista_eos_show_port-channel_summary.textfsm index d7b97a61d2..71f011a60d 100644 --- a/templates/arista_eos_show_port-channel_summary.textfsm +++ b/templates/arista_eos_show_port-channel_summary.textfsm @@ -1,14 +1,17 @@ Value PORT_CHANNEL (Po\d+) -Value PORT_CHANNEL_STATUS (\(\w+\)) +Value PORT_CHANNEL_STATUS (\S+) Value PROTOCOL (\w+) -Value PROTOCOL_STATE ((\(\w+\*\)|\(\w+\))) -Value List PHYS_IFACE (Et.+?) -Value List PHYS_IFACE_STATUS (\(.+?\)) +Value PROTOCOL_STATE (\S+) +Value List PHYS_IFACE (Et\S+) +Value List PHYS_IFACE_STATUS (\S+) Start - ^\s*Flags -> PCS -# ^\s+Port-Channel\s+Protocol\s+Ports\s+$$ -> PCS + ^\s*Flags + ^-+ + ^\s+\S\s+- + ^Number + ^\s+Port-Channel\s+Protocol\s+Ports\s+$$ -> PCS ^\s*$$ ^. -> Error @@ -16,14 +19,14 @@ Start PCS ^\s*Po\d+ -> Continue.Record - ^\s*${PORT_CHANNEL}${PORT_CHANNEL_STATUS}\s+${PROTOCOL}${PROTOCOL_STATE}\s+${PHYS_IFACE}${PHYS_IFACE_STATUS}(\s|$$) -> Continue - ^\s*Po\d+\(\w+\)\s+\w+(\(\w+\*\)|\(\w+\))\s+(Et.+?\(.+?\)\s){1}${PHYS_IFACE}${PHYS_IFACE_STATUS}(\s|$$) -> Continue - ^\s*Po\d+\(\w+\)\s+\w+(\(\w+\*\)|\(\w+\))\s+(Et.+?\(.+?\)\s){2}${PHYS_IFACE}${PHYS_IFACE_STATUS}(\s|$$) -> Continue - ^\s*Po\d+\(\w+\)\s+\w+(\(\w+\*\)|\(\w+\))\s+(Et.+?\(.+?\)\s){3}${PHYS_IFACE}${PHYS_IFACE_STATUS}(\s|$$) -> Continue - ^\s*Po\d+\(\w+\)\s+\w+(\(\w+\*\)|\(\w+\))\s+(Et.+?\(.+?\)\s){4}${PHYS_IFACE}${PHYS_IFACE_STATUS}(\s|$$) -> Continue - ^\s+${PHYS_IFACE}${PHYS_IFACE_STATUS}(\s|$$) -> Continue - ^\s+\s+(Et.+?\(.+?\)\s){1}${PHYS_IFACE}${PHYS_IFACE_STATUS}(\s|$$) -> Continue - ^\s+\s+(Et.+?\(.+?\)\s){2}${PHYS_IFACE}${PHYS_IFACE_STATUS}(\s|$$) -> Continue - ^\s+\s+(Et.+?\(.+?\)\s){3}${PHYS_IFACE}${PHYS_IFACE_STATUS}(\s|$$) -> Continue - ^\s+\s+(Et.+?\(.+?\)\s){4}${PHYS_IFACE}${PHYS_IFACE_STATUS}(\s|$$) -> Continue + ^\s*${PORT_CHANNEL}\(${PORT_CHANNEL_STATUS}\)\s+${PROTOCOL}\(${PROTOCOL_STATE}\)\s+${PHYS_IFACE}\(${PHYS_IFACE_STATUS}\)(\s|$$) -> Continue + ^\s*Po\d+.+(Et.+?\(.+?\)\s){1}${PHYS_IFACE}\(${PHYS_IFACE_STATUS}\)(\s|$$) -> Continue + ^\s*Po\d+.+(Et.+?\(.+?\)\s){2}${PHYS_IFACE}\(${PHYS_IFACE_STATUS}\)(\s|$$) -> Continue + ^\s*Po\d+.+(Et.+?\(.+?\)\s){3}${PHYS_IFACE}\(${PHYS_IFACE_STATUS}\)(\s|$$) -> Continue + ^\s*Po\d+.+(Et.+?\(.+?\)\s){4}${PHYS_IFACE}\(${PHYS_IFACE_STATUS}\)(\s|$$) -> Continue + ^\s+${PHYS_IFACE}\(${PHYS_IFACE_STATUS}\)(\s|$$) -> Continue + ^\s+(Et.+?\(.+?\)\s){1}${PHYS_IFACE}\(${PHYS_IFACE_STATUS}\)(\s|$$) -> Continue + ^\s+(Et.+?\(.+?\)\s){2}${PHYS_IFACE}\(${PHYS_IFACE_STATUS}\)(\s|$$) -> Continue + ^\s+(Et.+?\(.+?\)\s){3}${PHYS_IFACE}\(${PHYS_IFACE_STATUS}\)(\s|$$) -> Continue + ^\s+(Et.+?\(.+?\)\s){4}${PHYS_IFACE}\(${PHYS_IFACE_STATUS}\)(\s|$$) -> Continue diff --git a/tests/arista_eos/show_port-channel_summary/arista_eos_show_port-channel_summary.yml b/tests/arista_eos/show_port-channel_summary/arista_eos_show_port-channel_summary.yml index b56cdb2e5c..d70a8de216 100644 --- a/tests/arista_eos/show_port-channel_summary/arista_eos_show_port-channel_summary.yml +++ b/tests/arista_eos/show_port-channel_summary/arista_eos_show_port-channel_summary.yml @@ -1,330 +1,330 @@ --- parsed_sample: - port_channel: "Po105" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et5" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po106" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et6" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po107" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et7" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po108" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et8" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po109" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et9" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po110" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et10" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po111" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et11" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po112" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et12" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po113" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et13" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po114" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et14" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po115" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et15" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po116" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et16" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po117" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et17" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po118" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et18" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po119" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et19" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po120" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et20" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po121" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et21" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po122" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et22" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po123" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et23" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po124" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et24" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po125" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et25" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po126" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et26" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po127" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et27" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po128" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et28" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po129" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et29" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po130" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et30" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po131" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et31" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po132" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et32" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po133" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et33" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po134" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et34" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po135" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et35" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po136" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et36" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po137" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et37" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po138" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et38" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po139" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et39" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po140" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et40" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po141" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et41" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po142" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et42" phys_iface_status: - - "(D)" + - "D" - port_channel: "Po146" - port_channel_status: "(D)" + port_channel_status: "D" protocol: "LACP" - protocol_state: "(aF*)" + protocol_state: "aF*" phys_iface: - "Et43" - - "Et44" - - "Et45" + - "Et46" + - "Et46" - "Et46" - "Et47" phys_iface_status: - - "(D)" - - "(D)" - - "(D)" - - "(D)" - - "(D)" + - "D" + - "D" + - "D" + - "D" + - "D" - port_channel: "Po2000" - port_channel_status: "(U)" + port_channel_status: "U" protocol: "LACP" - protocol_state: "(a)" + protocol_state: "a" phys_iface: - "Et54/1" phys_iface_status: - - "(PG+)" + - "PG+"