Skip to content

aruba_aoscx_show_interface.textfsm doesn't handle VRF's, secondary addresses, unknown-unicast,multicast or Leader-follower. #2280

@baztheallmighty

Description

@baztheallmighty

Here is a update that was generated with AI.

It adds handling for:
VRF's
secondary addresses
unknown-unicast,multicast
Leader-follower

I have tested the template and it is working in my test environment.

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_ADDRESS (\S+)
Value MTU (\d+)
Value IF_TYPE (\S+)
Value IP_ADDRESS (\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 VLAN_NATIVE (\S+)
Value List VLAN_TRUNK ([^,]+)
Value List AGGREGATED_INTERFACES (\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 (\S+)
Value TX_COLLISION (\d+)

Start
  ^\s*(Interface|Aggregate)\s+\S+\s+is -> Continue.Record
  ^\s*(Interface|Aggregate)\s+${INTERFACE}\s+is\s+${LINK_STATUS}
  ^\s*Admin\s*state\s*is\s*${LINK_ADMIN}
  ^\s*Link\s*transitions\s*:\s*${LINK_TRANSITIONS}
  ^\s*Description\s*:\s*${INTERFACE_DESC}
  ^\s*State\s*information\s*:\s*${LINK_STATE_INFO}
  ^\s*Hardware\s*:\s*${HW_TYPE},?\s*MAC\s*Address:\s+${MAC_ADDRESS}
  ^\s*MAC\s+Address\s*:\s*${MAC_ADDRESS}
  ^\s*IPv4\s+address\s+${IP_ADDRESS}
                                                          
  ^\s*MTU\s*${MTU}
  ^\s*Type\s*${IF_TYPE}
  ^\s*${DUPLEX}-duplex
  ^\s*qos\s*trust\s*${QOS_TRUST}
  ^\s*Speed\s*:*\s*${SPEED}
  ^\s*Auto-negotiation\s*is\s*${AUTO_NEG}
  ^\s*Flow-control\s*:\s*${FLOW_CONTROL}
  ^\s*Error-control\s*:\s*${ERROR_CONTROL}
  ^\s*VLAN Mode\s*:\s*${VLAN_MODE}
  ^\s*Access VLAN\s*:\s*${VLAN_ACCESS}
  ^\s*Native VLAN\s*:\s*${VLAN_NATIVE}
  ^\s*Allowed VLAN List\s*:\s+${VLAN_TRUNK},* -> Continue
  ^\s*Allowed VLAN List\s*:\s+(?:[^,]+,){1}${VLAN_TRUNK},* -> Continue
  ^\s*Allowed VLAN List\s*:\s+(?:[^,]+,){2}${VLAN_TRUNK},* -> Continue
  ^\s*Allowed VLAN List\s*:\s+(?:[^,]+,){3}${VLAN_TRUNK},* -> Continue
  ^\s*Allowed VLAN List\s*:\s+(?:[^,]+,){4}${VLAN_TRUNK},* -> Continue
  ^\s*Allowed VLAN List\s*:\s+(?:[^,]+,){5}${VLAN_TRUNK},* -> Continue
  ^\s*Allowed VLAN List\s*:
  ^\s*Link state
  ^\s*Aggregated-interfaces\s*:\s+${AGGREGATED_INTERFACES}\s* -> Continue
  ^\s*Aggregated-interfaces\s*:\s+(?:\S+\s+){1}${AGGREGATED_INTERFACES}\s* -> Continue
  ^\s*Aggregated-interfaces\s*:\s+(?:\S+\s+){2}${AGGREGATED_INTERFACES}\s* -> Continue
  ^\s*Aggregated-interfaces\s*:\s+(?:\S+\s+){3}${AGGREGATED_INTERFACES}\s* -> Continue
  ^\s*Aggregated-interfaces\s*:\s+(?:\S+\s+){4}${AGGREGATED_INTERFACES}\s* -> Continue
  ^\s*Aggregated-interfaces\s*:\s+(?:\S+\s+){5}${AGGREGATED_INTERFACES}\s* -> Continue
  ^\s*Aggregated-interfaces\s*:\s+(?:\S+\s+){6}${AGGREGATED_INTERFACES}\s* -> Continue
  ^\s*Aggregated-interfaces\s*:\s+(?:\S+\s+){7}${AGGREGATED_INTERFACES}\s* -> Continue
  ^\s*Aggregated-interfaces\s*:
  ^\s*Aggregation-key
  ^\s*Aggregate\s+mode
  ^\s*Persona
  ^\s*VRF\s+name
  ^\s*rate-limit\s+broadcast
                            
  ^\s*L3\s+Counters
  ^\s*MDI mode
                            
  ^\s*Rate collection interval
  ^\s*Energy-Efficient
  ^\s*Rx -> Rx
  ^\s*Rate\s+RX\s+TX\s+Total -> Rate
  ^\s*Statistic\s+RX\s+TX\s+Total -> Statistic
  ^. -> 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*$$ -> Start
  ^. -> Error

Rate
  ^\s*----
  ^\s*Mbits\s+/\s+sec
  ^\s*KPkts\s+/\s+sec
  ^\s+Unicast
  ^\s+Multicast
  ^\s+Broadcast
  ^\s+Utilization
  ^\s*$$ -> Statistic
  ^. -> Error

Statistic
  ^\s*Statistic\s+RX\s+TX\s+Total
  ^\s*----
  ^\s*Packets\s+${RX_TOTAL_PACKETS}\s+${TX_TOTAL_PACKETS}\s+\d+
  ^\s+Unicast\s+${RX_UNICAST_PACKETS}\s+${TX_UNICAST_PACKETS}\s+\d+
  ^\s+Multicast\s+${RX_MCAST_PACKETS}\s+${TX_MCAST_PACKETS}\s+\d+
  ^\s+Broadcast\s+${RX_BROADCAST_PACKETS}\s+${TX_BROADCAST_PACKETS}\s+\d+
  ^\s*Bytes\s+${RX_TOTAL_BYTES}\s+${TX_TOTAL_BYTES}\s+\d+
  ^\s*Jumbos
  ^\s*Pause\s+Frames
  ^\s*Dropped\s+${RX_DROPPED}\s+${TX_DROPPED}\s+\d+
  ^\s*Errors\s+${RX_ERRORS}\s+${TX_ERRORS}\s+\d+
  ^\s+CRC/FCS\s+${RX_CRC_FCS}\s+${TX_CRC_FCS}\s+\d+
  ^\s+Collision\s+\S+\s+${TX_COLLISION}\s+\d+
  ^\s*Runts
  ^\s*Giants
  ^\s*L3\s+Packets
  ^\s*$$ -> Start
  ^. -> Error



Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions