Skip to content

Commit

Permalink
Add Aruba AOS-CX command support (networktocode#927)
Browse files Browse the repository at this point in the history
  • Loading branch information
scetron authored Aug 25, 2021
1 parent 8985042 commit 65d49b0
Show file tree
Hide file tree
Showing 36 changed files with 2,976 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
Value CLIENT_MAC (\S+)
Value CLIENT_NAME (\S+)
Value SESSION_PORT (\S+)
Value ROLE (\S+)

Start
^\s*Port\s+Access\s+Client\s+Status\s+Details
^\s*Client\s+${CLIENT_MAC},\s+${CLIENT_NAME}
^\s*=+
^\s+Session\s+Details -> Session
^\s+Authentication\s+Details -> Authentication
^\s+Authorization\s+Details -> Authorization
^\s*$$
^. -> Error

Session
^\s+-+
^\s+Port\s+:\s*${SESSION_PORT}
^\s+Session.*$$
^\s+IPv4.*$$
^\s+IPv6.*$$
^\s*$$ -> Start
^. -> Error

Authentication
^\s+-+
^\s+Status.*$$
^\s+Auth\s*Precedence.*$$ -> Start
^\s*$$ -> Start
^. -> Error

Authorization
^\s*-+
^\s+Role\s+:\s+${ROLE}
^\s+Status.*$$
^\s*$$ -> Record Start
^. -> Error
13 changes: 13 additions & 0 deletions ntc_templates/templates/aruba_aoscx_show_arp_all-vrfs.textfsm
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Value ADDRESS (\d+\.\d+\.\d+\.\d+)
Value MAC (\S+)
Value PORT_ID (\S+)
Value PHYSICAL_PORT (\S+)
Value STATE ([a-z]+)
Value VRF (\S+)

Start
^IPv4\s+Address\s+MAC\s+Port\s+Physical\s+Port\s+State
^${ADDRESS}\s+${MAC}\s+${PORT_ID}\s+${PHYSICAL_PORT}\s+${STATE}\s+${VRF} -> Record
^\s*-*
^\s*Total.*$$
^. -> Error
23 changes: 23 additions & 0 deletions ntc_templates/templates/aruba_aoscx_show_bfd_all-vrfs.textfsm
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
Value Filldown ADMIN_STATUS (\w+)
Value Filldown SRC_IP (\S+)
Value SESSION (\d+)
Value IFACE (\S+)
Value VRF (\S+)
Value SOURCE_IP (\d+\.\d+\.\d+\.\d+)
Value DESTINATION_IP (\d+\.\d+\.\d+\.\d+)
Value ECHO (\w+)
Value STATE (\w+)
Value APPLICATION (\w+)


Start
^Admin\s+status:\s+${ADMIN_STATUS}
^Echo\s+source\s+IP:\s+${SRC_IP}
^Statistics:.*
^Total.*$$
^Session\s+Interface\s+VRF\s+Source\s+IP\s+Destination\s+IP\s+Echo\s+State\s+Protocol
^\s*-+
^${SESSION}\s+${IFACE}\s+${VRF}\s+${SOURCE_IP}\s+${DESTINATION_IP}\s+${ECHO}\s+${STATE}\s+${APPLICATION} -> Record
^. -> Error

EOF
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
Value Filldown VRF (\S+)
Value Filldown AF (\S+)
Value NEIGHBOUR (\d+\.\d+\.\d+\.\d+)
Value REMOTE_AS (\d+)
Value STATE (\w+)
Value ADMIN_STATUS (\w+)

Start
^VRF\s+:\s+${VRF}
^BGP\sSummary
^-+
^\s*Local\s*AS.*
^\s*Peers.*
^\s*Cfg.*
^\s*$$
^Address-family\s:\s${AF} -> Af
^. -> Error

Af
^-+
^\s+Neighbor\s+Remote-AS\s+MsgRcvd\s+MsgSent\s+Up/Down\s+Time\s+State\s+AdminStatus
^\s+${NEIGHBOUR}\s+${REMOTE_AS}\s+\d+\s+\d+\s+\S+\s+${STATE}\s+${ADMIN_STATUS} -> Record
^\s*$$ -> Clear Start
^. -> Error

EOF
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
Value Filldown VRF (\S+)
Value Filldown AF (\S+)
Value NEIGHBOUR (\d+\.\d+\.\d+\.\d+)
Value REMOTE_AS (\d+)
Value STATE (\w+)
Value ADMIN_STATUS (\w+)

Start
^VRF\s+:\s+${VRF}
^BGP\sSummary
^-+
^\s*Local\s*AS.*
^\s*Peers.*
^\s*Cfg.*
^\s*$$
^Address-family\s:\s${AF} -> Af
^. -> Error

Af
^-+
^\s+Neighbor\s+Remote-AS\s+MsgRcvd\s+MsgSent\s+Up/Down\s+Time\s+State\s+AdminStatus
^\s+${NEIGHBOUR}\s+${REMOTE_AS}\s+\d+\s+\d+\s+\S+\s+${STATE}\s+${ADMIN_STATUS} -> Record
^\s*$$ -> Clear Start
^. -> Error

EOF
77 changes: 77 additions & 0 deletions ntc_templates/templates/aruba_aoscx_show_interface.textfsm
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
Value INTERFACE (\S+)
Value LINK_STATUS (\w+)
Value LINK_ADMIN (\w+)
Value LINK_STATE_INFO (\.*)
Value LINK_TRANSITIONS (\d+)
Value INTERFACE_DESC (.*)
Value HW_TYPE (\w+)
Value MAC (\S+)
Value MTU (\d+)
Value IF_TYPE (\S+)
Value DUPLEX (\w+)
Value QOS_TRUST (\S+)
Value SPEED (\S+\s\S+)
Value AUTO_NEG (\S+)
Value FLOW_CONTROL (\S+)
Value ERROR_CONTROL (\S+)
Value VLAN_MODE (\S+)
Value VLAN_ACCESS (\S+)
Value RX_TOTAL_PACKETS (\d+)
Value RX_TOTAL_BYTES (\d+)
Value RX_UNICAST_PACKETS (\d+)
Value RX_MCAST_PACKETS (\d+)
Value RX_BROADCAST_PACKETS (\d+)
Value RX_ERRORS (\d+)
Value RX_DROPPED (\d+)
Value RX_CRC_FCS (\d+)
Value TX_TOTAL_PACKETS (\d+)
Value TX_TOTAL_BYTES (\d+)
Value TX_UNICAST_PACKETS (\d+)
Value TX_MCAST_PACKETS (\d+)
Value TX_BROADCAST_PACKETS (\d+)
Value TX_ERRORS (\d+)
Value TX_DROPPED (\d+)
Value TX_CRC_FCS (\d+)
Value TX_COLLISION (\d+)

Start
^\s*Interface\s*${INTERFACE}\s*is\s*${LINK_STATUS}
^\s*Admin\s*state\s*is\s*${LINK_ADMIN}
^\s*Link\s*transitions:\s*${LINK_TRANSITIONS}
^\s*Description:\s${INTERFACE_DESC}
^\s*State\s*information:\s*${LINK_STATE_INFO}
^\s*Hardware:\s*${HW_TYPE},?\s*MAC\s*Address:\s+${MAC}
^\s*MTU\s*${MTU}
^\s*Type\s*${IF_TYPE}
^\s*${DUPLEX}-duplex
^\s*qos\s*trust\s*${QOS_TRUST}
^\s*Speed\s*${SPEED}
^\s*Auto-negotiation\s*is\s*${AUTO_NEG}
^\s*Flow-control: ${FLOW_CONTROL}
^\s*Error-control: ${ERROR_CONTROL}
^\s*VLAN Mode: ${VLAN_MODE}
^\s*Access VLAN: ${VLAN_ACCESS}
^\s*Rx -> Rx
^\s*Description:
^. -> Error

Rx
^\s*${RX_TOTAL_PACKETS} total packets\s*${RX_TOTAL_BYTES} total bytes
^\s*${RX_UNICAST_PACKETS} unicast packets
^\s*${RX_MCAST_PACKETS} multicast packets
^\s*${RX_BROADCAST_PACKETS} broadcast packets
^\s*${RX_ERRORS} errors\s*${RX_DROPPED} dropped
^\s*${RX_CRC_FCS} CRC/FCS
^\s*Tx -> Tx
^. -> Error

Tx
^\s*${TX_TOTAL_PACKETS} total packets\s*${TX_TOTAL_BYTES} total bytes
^\s*${TX_UNICAST_PACKETS} unicast packets
^\s*${TX_MCAST_PACKETS} multicast packets
^\s*${TX_BROADCAST_PACKETS} broadcast packets
^\s*${TX_ERRORS} errors\s*${TX_DROPPED} dropped
^\s*${TX_CRC_FCS} CRC/FCS
^\s*${TX_COLLISION}\s*collision
^\s*$$ -> Record Start
^. -> Error
114 changes: 114 additions & 0 deletions ntc_templates/templates/aruba_aoscx_show_interface_dom_detail.textfsm
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
Value IFACE (\S+)
Value IFACE_TYPE (\S+)
Value List CHANNEL (\d+)
Value TEMPERATURE (-?\d+\.\d+\w)
Value TEMP_HIGH_ALARM_TRIG (\w+)
Value TEMP_LOW_ALARM_TRIG (\w+)
Value TEMP_HIGH_WARN_TRIG (\w+)
Value TEMP_LOW_WARN_TRIG (\w+)
Value TEMP_HIGH_ALARM_THRESHOLD (-?\d+\.\d+\w)
Value TEMP_LOW_ALARM_THRESHOLD (-?\d+\.\d+\w)
Value TEMP_HIGH_WARN_THRESHOLD (-?\d+\.\d+\w)
Value TEMP_LOW_WARN_THRESHOLD (-?\d+\.\d+\w)
Value VOLTAGE (\d+\.\d+\w)
Value VOLT_HIGH_ALARM_TRIG (\w+)
Value VOLT_LOW_ALARM_TRIG (\w+)
Value VOLT_HIGH_WARN_TRIG (\w+)
Value VOLT_LOW_WARN_TRIG (\w+)
Value VOLT_HIGH_ALARM_THRESHOLD (\d+\.\d+\w)
Value VOLT_LOW_ALARM_THRESHOLD (\d+\.\d+\w)
Value VOLT_HIGH_WARN_THRESHOLD (\d+\.\d+\w)
Value VOLT_LOW_WARN_THRESHOLD (\d+\.\d+\w)
Value List TX_BIAS (\d+\.\d+\w+)
Value List TX_BIAS_HIGH_ALARM_TRIG (\w+)
Value List TX_BIAS_LOW_ALARM_TRIG (\w+)
Value List TX_BIAS_HIGH_WARN_TRIG (\w+)
Value List TX_BIAS_LOW_WARN_TRIG (\w+)
Value List TX_BIAS_HIGH_ALARM_THRESHOLD (\d+\.\d+\w+)
Value List TX_BIAS_LOW_ALARM_THRESHOLD (\d+\.\d+\w+)
Value List TX_BIAS_HIGH_WARN_THRESHOLD (\d+\.\d+\w+)
Value List TX_BIAS_LOW_WARN_THRESHOLD (\d+\.\d+\w+)
Value List RX_MW (\d+\.\d+\w+)
Value List RX_HIGH_ALARM_TRIG (\w+)
Value List RX_LOW_ALARM_TRIG (\w+)
Value List RX_HIGH_WARN_TRIG (\w+)
Value List RX_LOW_WARN_TRIG (\w+)
Value List RX_HIGH_ALARM_THRESHOLD (\d+\.\d+\w+)
Value List RX_LOW_ALARM_THRESHOLD (\d+\.\d+\w+)
Value List RX_HIGH_WARN_THRESHOLD (\d+\.\d+\w+)
Value List RX_LOW_WARN_THRESHOLD (\d+\.\d+\w+)
Value List TX_MW (\d+\.\d+\w+)
Value List TX_HIGH_ALARM_TRIG (\w+)
Value List TX_LOW_ALARM_TRIG (\w+)
Value List TX_HIGH_WARN_TRIG (\w+)
Value List TX_LOW_WARN_TRIG (\w+)
Value List TX_HIGH_ALARM_THRESHOLD (\d+\.\d+\w+)
Value List TX_LOW_ALARM_THRESHOLD (\d+\.\d+\w+)
Value List TX_HIGH_WARN_THRESHOLD (\d+\.\d+\w+)
Value List TX_LOW_WARN_THRESHOLD (\d+\.\d+\w+)


Start
^Transceiver -> Continue.Record
^Transceiver\s+in\s+${IFACE}
^\s+Type:\s${IFACE_TYPE}
^\s+% No DOM information available -> Next.Clear
^\s+Temperature:\s+${TEMPERATURE} -> Common
^\s+Channel\s+${CHANNEL}: -> Common
^\. -> Error

Common
^\s+Temperature high alarm: ${TEMP_HIGH_ALARM_TRIG}
^\s+Temperature low alarm: ${TEMP_LOW_ALARM_TRIG}
^\s+Temperature high warning: ${TEMP_HIGH_WARN_TRIG}
^\s+Temperature low warning: ${TEMP_LOW_WARN_TRIG}
^\s+Temperature high alarm threshold: ${TEMP_HIGH_ALARM_THRESHOLD}
^\s+Temperature low alarm threshold: ${TEMP_LOW_ALARM_THRESHOLD}
^\s+Temperature high warning threshold: ${TEMP_HIGH_WARN_THRESHOLD}
^\s+Temperature low warning threshold: ${TEMP_LOW_WARN_THRESHOLD}
^\s+Voltage:\s+${VOLTAGE}
^\s+Voltage high alarm: ${VOLT_HIGH_ALARM_TRIG}
^\s+Voltage low alarm: ${VOLT_LOW_ALARM_TRIG}
^\s+Voltage high warning: ${VOLT_HIGH_WARN_TRIG}
^\s+Voltage low warning: ${VOLT_LOW_WARN_TRIG}
^\s+Voltage high alarm threshold: ${VOLT_HIGH_ALARM_THRESHOLD}
^\s+Voltage low alarm threshold: ${VOLT_LOW_ALARM_THRESHOLD}
^\s+Voltage high warning threshold: ${VOLT_HIGH_WARN_THRESHOLD}
^\s+Voltage low warning threshold: ${VOLT_LOW_WARN_THRESHOLD}
^\s+Tx Bias: ${TX_BIAS} -> Details
^\s*$$ -> Start
^\. -> Error

Details
^\s+Channel\s+${CHANNEL}:
^\s+Tx Bias: ${TX_BIAS}
^\s+Tx Bias high alarm: ${TX_BIAS_HIGH_ALARM_TRIG}
^\s+Tx Bias low alarm: ${TX_BIAS_LOW_ALARM_TRIG}
^\s+Tx Bias high warning: ${TX_BIAS_HIGH_WARN_TRIG}
^\s+Tx Bias low warning: ${TX_BIAS_LOW_WARN_TRIG}
^\s+Tx Bias high alarm threshold: ${TX_BIAS_HIGH_ALARM_THRESHOLD}
^\s+Tx Bias low alarm threshold: ${TX_BIAS_LOW_ALARM_THRESHOLD}
^\s+Tx Bias high warning threshold: ${TX_BIAS_HIGH_WARN_THRESHOLD}
^\s+Tx Bias low warning threshold: ${TX_BIAS_LOW_WARN_THRESHOLD}
^\s+Rx Power: ${RX_MW}
^\s+Rx Power high alarm: ${RX_HIGH_ALARM_TRIG}
^\s+Rx Power low alarm: ${RX_LOW_ALARM_TRIG}
^\s+Rx Power high warning: ${RX_HIGH_WARN_TRIG}
^\s+Rx Power low warning: ${RX_LOW_WARN_TRIG}
^\s+Rx Power high alarm threshold: ${RX_HIGH_ALARM_THRESHOLD}
^\s+Rx Power low alarm threshold: ${RX_LOW_ALARM_THRESHOLD}
^\s+Rx Power high warning threshold: ${RX_HIGH_WARN_THRESHOLD}
^\s+Rx Power low warning threshold: ${RX_LOW_WARN_THRESHOLD}
^\s+Tx Power: ${TX_MW}
^\s+Tx Power high alarm: ${TX_HIGH_ALARM_TRIG}
^\s+Tx Power low alarm: ${TX_LOW_ALARM_TRIG}
^\s+Tx Power high warning: ${TX_HIGH_WARN_TRIG}
^\s+Tx Power low warning: ${TX_LOW_WARN_TRIG}
^\s+Tx Power high alarm threshold: ${TX_HIGH_ALARM_THRESHOLD}
^\s+Tx Power low alarm threshold: ${TX_LOW_ALARM_THRESHOLD}
^\s+Tx Power high warning threshold: ${TX_HIGH_WARN_THRESHOLD}
^\s+Tx Power low warning threshold: ${TX_LOW_WARN_THRESHOLD}
^\s*$$
^Transceiver -> Continue.Record
^Transceiver\s+in\s+${IFACE} -> Start
^\. -> Error
14 changes: 14 additions & 0 deletions ntc_templates/templates/aruba_aoscx_show_ip_route_all-vrfs.textfsm
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Value Filldown IP (\d+\.\d+\.\d+\.\d+\/\d+)
Value Filldown VRF (\S+)
Value List IFACE (\S+)
Value List METRIC (\[\S+\])
Value List STATUS (\w+)

Start
^\s*Displaying.*
^\s*$$
^\s*\S+\s+denotes.*
^\d+\.\d+\.\d+\.\d+\/\d+\W\s+vrf\s+\S+ -> Continue.Record
^${IP}\W\s+vrf\s+${VRF}
^\s+via\s+${IFACE},\s+${METRIC},\s+${STATUS}
^. -> Error
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
Value Required LOCAL_PORT (\S+)
Value Required CHASSIS_ID (\S+)
Value CHASSIS_NAME (\S+)
Value CHASSIS_DESC (.+)
Value CAPABILITIES (.+)
Value CAPABILITIES_ENABLED (.+)
Value MGMT_ADDR (\S+)
Value PORT_ID (\S+)
Value PORT_DESC (\S+)


Start
^Port\s*:\s*${LOCAL_PORT}
^Neighbor\s*Chassis-Name\s*:\s*${CHASSIS_NAME}
^Neighbor\s*Chassis-Description\s*:\s*${CHASSIS_DESC}
^Neighbor\s*Chassis-ID\s*:\s*${CHASSIS_ID}
^Neighbor\s*Management-Address\s*:\s*${MGMT_ADDR}
^Chassis\s*Capabilities\s*Available\s*:\s*${CAPABILITIES}
^Chassis\s*Capabilities\s*Enabled\s*:\s*${CAPABILITIES_ENABLED}
^Neighbor\s*Port-ID\s*:\s*${PORT_ID}
^Neighbor\s*Port-Desc\s*:\s*${PORT_DESC}
^-+$$ -> Record
^Neighbor\.*
^TTL\.*
^P[D|SE]\.*
^Power\.*
^\s+ -> Next
^\S+#\.* -> Next
^LLDP\.*
^Total\.*
^=+
^. -> Error

13 changes: 13 additions & 0 deletions ntc_templates/templates/aruba_aoscx_show_mac-address-table.textfsm
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Value MAC (\S+)
Value VLAN (\d+)
Value TYPE ([a-z]+)
Value PORT (\S+)

Start
^MAC\s+age-time.*$$
^Number\s+of\s+MAC.*$$
^MAC\s+Address\s+VLAN\s+Type\s+Port
^-+$$
^${MAC}\s+${VLAN}\s+${TYPE}\s+${PORT} -> Record
^\s*$$
^. -> Error
Loading

0 comments on commit 65d49b0

Please sign in to comment.