Value Required INTERFACE (\S+)
Value LINK_STATUS (.*)
Value PROTOCOL_STATUS (.*)
Value HARDWARE_TYPE ([\w+-]+)
Value MAC_ADDRESS ([a-zA-Z0-9]+.[a-zA-Z0-9]+.[a-zA-Z0-9]+)
Value BIA ([a-zA-Z0-9]+.[a-zA-Z0-9]+.[a-zA-Z0-9]+)
Value DESCRIPTION ([^\"]*)
Value IP_ADDRESS (\d+\.\d+\.\d+\.\d+\/\d+)
Value MTU (\d+)
Value BANDWIDTH (\d+\s+\w+)
Value LAST_LINK_FLAPPED (.*)
Value LINK_STATUS_CHANGE (\d+)

Start
  ^\S+\s+is\s+\S+(\s+\S+)?, -> Continue.Record
  ^${INTERFACE}\s+is\s+${LINK_STATUS},\s+line\s+protocol\s+is\s+${PROTOCOL_STATUS}
  ^\s+Hardware\s+is\s+${HARDWARE_TYPE}(.*address\s+is\s+${MAC_ADDRESS})*(.*bia\s+${BIA})*
  ^\s+Description:\s+"?${DESCRIPTION}"?$$
  ^\s+Internet\s+address\s+is\s+${IP_ADDRESS}
  ^\s+(Up|Down)\s+${LAST_LINK_FLAPPED}
  ^\s+${LINK_STATUS_CHANGE}\s+link\s+status\s+changes.*
  ^.*MTU\s+${MTU}(.*BW\s+${BANDWIDTH})*
  ^\s+Broadcast\s+address
  ^\s+Address\s+determined
  ^\s+\S+(-|\s)duplex,
  ^\s+Last\s+clearing
  ^\s+\d+\s+\S+\s+(in|out)put\s+rate
  ^\s+\d+\s+packets\s+(in|out)put,
  ^\s+(Sent|Received)\s+\d+\s+broadcasts,
  ^\s+\d+\s+runts,
  ^\s+\d+\s+(in|out)put\s+errors,
  ^\s+\d+\s+PAUSE
  ^\s+\d+\s+late\s+collision,
  ^\s+Loopback\s+Mode\s*:
  ^\s+Active\s+members
  ^\s+Fallback\s+mode
  ^\s+IPv6\s+link-local
  ^\s+.+IPv6\s+global\s+unicast
  ^\s+[\dA-Fa-f:]+,\s+subnet\s+is
  ^\s+Member\s+of\s+
  ^\s+...\s+\S+\s+,
  ^\s+No\s+Internet\s+protocol\s+address\s+assigned
  ^\s+Source\s+interface\s+is
  ^\s+Listening\s+on
  ^\s+Replication/Flood\s+Mode
  ^\s+Remote\s+MAC\s+learning
  ^\s+VNI\s+mapping
  ^\s+\[(\d+(,\s+)?)+\]
  ^\s+Note:
  ^\s+Use\s+'show.*'
  ^\s+Static\s+V(RF|LAN)
  ^\s+Headend\s+replication
  ^\s+\d+\s+\S+\s+\S+
  ^\s+MLAG\s+Shared\s+Router\s+MAC
  ^\s*$$
  ^. -> Error
