Skip to content

Commit

Permalink
spytest textfsm template changes-3 (sonic-net#9555)
Browse files Browse the repository at this point in the history
Co-authored-by: Rama Sasthri, Kristipati <[email protected]>
  • Loading branch information
ramakristipati and ramakristipatibrcm authored Aug 21, 2023
1 parent ca4db7e commit bc60bfd
Show file tree
Hide file tree
Showing 18 changed files with 188 additions and 134 deletions.
2 changes: 1 addition & 1 deletion spytest/templates/show_arp.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,6 @@ WITHOUTSTATUS
^$$

WITHSTATUS
^\s*${Address}\s+${MacAddress}\s+${Iface}\s+${Vlan}\s+${STATUS}\s*$$ -> Record
^\s*${Address}\s+${MacAddress}\s+(VxLAN DIP: )*${Iface}\s+${Vlan}\s+${STATUS}\s*$$ -> Record
^\s*Total\s+number\s+of\s+entries\s+${count}
^$$
7 changes: 4 additions & 3 deletions spytest/templates/show_bgp_ipv4_prefix.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,18 @@ Value VALID (\w+)
Value EXTERNAL ([-()\d\w\s]+)
Value BEST ([-()\d\w\s]+)
Value COMMUNITY (.*?)
Value SUBTYPE (\d+)


Start
^\s*BGP\s*routing\s*table\s*entry\s*for\s*${PREFIXIP}\/${PREFIXMASKLEN}$$
^\s*BGP\s*routing\s*table\s*entry\s*for\s*${PREFIXIP}\/${PREFIXMASKLEN}.*$$
^\s*Paths\:\s*\(${NOOFPATHS}\s*available,\s*(best\s*\#(\d+),\s*table\s*default\))|(no best path\))$$
^\s*Advertised\s*to\s*non\s*peer-group\s*peers\:$$
^\s*${PEERIP}$$
^\s*${PEERASN}{0,1}$$
^\s*${peernhtip1}\s*(\(\w+\))*\s*from\s*${peernhtip2}\s*\(${peerrtrid}\)$$
^\s*Origin\s*${ORIGIN}(,\s*metric\s*${METRIC}){0,1}(,\s*localpref\s*${LOCALPREF}){0,1},\s*${VALID},\s*${EXTERNAL}(,\s*${BEST}){0,1}$$
^\s*Community:\s*${COMMUNITY}\s*$$
^\s*Last update:\s*(.*)$$ -> Record
^\s*(SubType:\s*${SUBTYPE}\s+)*Last update:\s*(.*)$$ -> Record

EOF
EOF
2 changes: 1 addition & 1 deletion spytest/templates/show_bgp_ipv4v6uni_prefix.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Value COMMUNITY (.*?)


Start
^\s*BGP\s*routing\s*table\s*entry\s*for\s*${PREFIXIP}\/${PREFIXMASKLEN}$$
^\s*BGP\s*routing\s*table\s*entry\s*for\s*${PREFIXIP}\/${PREFIXMASKLEN}$$
^\s*Paths\:\s*\(${NOOFPATHS}\s*available,\s*best\s*\#([\d]*),\s*table\s*default\)$$
^\s*Advertised\s*to\s*non\s*peer-group\s*peers\:$$
^\s*${PEERASN}$$
Expand Down
12 changes: 7 additions & 5 deletions spytest/templates/show_bgp_neighbor.tmpl
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
Value Required NEIGHBORIP ([\:\d\w\.]+)
Value NEIGHBORINTF (\S+)
Value REMOTEASN (\d+)
Value LOCALASN (\d+)
Value BGPVERSION (\d+)
Expand Down Expand Up @@ -29,6 +30,7 @@ Value PEERGROUP (\S+)
Value ASBYTE (\S+)
Value IPV4UCASTNCAP ([\S\s]+)
Value L2VPNEVPNNCAP ([\S\s]+)
Value FAB_EXT (Fabric-external)
Value ENDOFRIBSEND ([\S\s]+)
Value ENDOFRIBRCV ([\S\s]+)
Value GRCAPABILITY ([\S\s]+)
Expand All @@ -40,16 +42,18 @@ Value BFDRXINTR (\S+)
Value BFDTXINTR (\S+)
Value BFDSTATUS (\S+)
Value BFDLASTUPDATE (\S+)
Value PREFIX_RCVD (\S+)
Value List UPDTGRP (\d+)
Value List SUBGRP (\d+)
Value List PKTQL (\d+)
Value List ACCEPTPREFIX (\d+)


Start
^\s*BGP\s*neighbor\s*is\s*(.*) -> Continue.Record
^\s*BGP\s*neighbor\s*(is|on)\s*(.*) -> Continue.Record
^\s*BGP\s*neighbor\s*is\s*${NEIGHBORIP},\s*remote\s*AS\s*${REMOTEASN},\s*local\s*AS\s*${LOCALASN},\s*external\s*link
^\s*BGP\s*neighbor\s*is\s*${NEIGHBORIP},\s*remote\s*AS\s*${REMOTEASN},\s*local\s*AS\s*${LOCALASN},\s*internal\s*link
^\s*BGP\s*neighbor\s*on\s*${NEIGHBORINTF}\s*${NEIGHBORIP},\s*remote\s*AS\s*${REMOTEASN},\s*local\s*AS\s*${LOCALASN},\s*(external|internal)\s*link
^\s*Member of peer-group ${PEERGROUP} for session parameters\s*$$
^\s*BGP\s+version\s+${BGPVERSION},\s+remote\s+router\s+ID\s+${REMROUTERID}\s?,\s+local\s+router\s+ID\s+${LOCALROUTERID}\s*$$
^\s*BGP\s+state\s+=\s+${STATE},\s*up\s*for\s*.*
Expand All @@ -61,6 +65,7 @@ Start
^\s*${ASBYTE} Byte AS: advertised
^\s*Address Family IPv4 Unicast: ${IPV4UCASTNCAP}
^\s*Address Family L2VPN EVPN: ${L2VPNEVPNNCAP}
^\s*${FAB_EXT}\s*$$
^\s*Graceful restart information:
^\s*End-of-RIB send: ${ENDOFRIBSEND}
^\s*End-of-RIB received: ${ENDOFRIBRCV}
Expand Down Expand Up @@ -88,7 +93,4 @@ Start
^\s*Update group ${UPDTGRP}, subgroup ${SUBGRP}
^\s*Packet Queue length ${PKTQL}
^\s*${ACCEPTPREFIX} accepted prefixes$$




^\s*Prefixes received ${PREFIX_RCVD}$$
92 changes: 20 additions & 72 deletions spytest/templates/show_ip_access_lists.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -6,87 +6,35 @@ Value src_ip (\S+)
Value src_port (\d+)
Value dst_ip (\S+)
Value dst_port (\d+)
Value proto_flag (\w+|(\w+\s*)+)
Value proto_flag (established|((not-)?(fin|syn|rst|psh|ack|urg)(\s+)?)+)
Value dscp (\w+)
Value dscp_val (\S+)
Value packetscnt (\d+)
Value bytescnt (\d+)
Value vlan (\d+)
Value src_comparision (eq|lt|gt)
Value dst_comparision (eq|lt|gt)
Value src_range ((\d+\s+)+)
Value dst_range ((\d+\s+)+)
Value acl_type (ip|ipv6|mac)
Value src_mac_address (..:..:..:..:..:..)
Value dst_mac_address (..:..:..:..:..:..)

Value src_range (\d+\s+\d+)
Value dst_range (\d+\s+\d+)
Value Filldown acl_type (ip|ipv6|mac)
Value src_mac_address (..:..:..:..:..:..|any)
Value src_mac_mask (..:..:..:..:..:..)
Value dst_mac_address (..:..:..:..:..:..|any)
Value dst_mac_mask (..:..:..:..:..:..)
Value pcp (\S+)
Value pcp_mask (\d+)
Value dei (\d+)

Start
^\s*${acl_type}\s+access-list\s+${access_list_name}\s*$$
^\s*${acl_type}\s+access-list\s+${access_list_name}\s*at\s*(Ingress|Egress)\s*$$
^\s*seq\s+${rule_no}\s+${action}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+vlan\s+${vlan}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+vlan\s+${vlan}\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+host\s+${src_mac_address}\s+host\s+${dst_mac_address}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+host\s+${src_mac_address}\s+host\s+${dst_mac_address}\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+host\s+${src_mac_address}\s+host\s+${dst_mac_address}\s+vlan\s+${vlan}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+host\s+${src_mac_address}\s+host\s+${dst_mac_address}\s+ip\s+vlan\s+${vlan}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+host\s+${src_mac_address}\s+host\s+${dst_mac_address}\s+vlan\s+${vlan}\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+host\s+${dst_ip}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+host\s+${dst_ip}\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+host\s+${dst_ip}\s+${dscp}\s+${dscp_val}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+host\s+${dst_ip}\s+${dscp}\s+${dscp_val}\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+host\s+${dst_ip}\s+${proto_flag}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+host\s+${dst_ip}\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+host\s+${dst_ip}\s+${proto_flag}\s+${dscp}\s+${dscp_val}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+host\s+${dst_ip}\s+${proto_flag}\s+${dscp}\s+${dscp_val}\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+host\s+${dst_ip}\s+${dst_comparision}\s+${dst_port}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+host\s+${dst_ip}\s+${dst_comparision}\s+${dst_port}\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+host\s+${dst_ip}\s+${dst_comparision}\s+${dst_port}\s+${dscp}\s+${dscp_val}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+host\s+${dst_ip}\s+${dst_comparision}\s+${dst_port}\s+${dscp}\s+${dscp_val}\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+host\s+${dst_ip}\s+${dst_comparision}\s+${dst_port}\s+${proto_flag}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+host\s+${dst_ip}\s+${dst_comparision}\s+${dst_port}\s+${proto_flag}\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+host\s+${dst_ip}\s+${dst_comparision}\s+${dst_port}\s+${proto_flag}\s+${dscp}\s+${dscp_val}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+host\s+${dst_ip}\s+${dst_comparision}\s+${dst_port}\s+${proto_flag}\s+${dscp}\s+${dscp_val}\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+${src_comparision}\s+${src_port}\s+${dst_ip}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+${src_comparision}\s+${src_port}\s+${dst_ip}\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+${src_comparision}\s+${src_port}\s+${dst_ip}\s+${dscp}\s+${dscp_val}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+${src_comparision}\s+${src_port}\s+${dst_ip}\s+${dscp}\s+${dscp_val}\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+${src_comparision}\s+${src_port}\s+${dst_ip}\s+${proto_flag}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+${src_comparision}\s+${src_port}\s+${dst_ip}\s+${proto_flag}\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+${src_comparision}\s+${src_port}\s+${dst_ip}\s+${proto_flag}\s+${dscp}\s+${dscp_val}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+${src_comparision}\s+${src_port}\s+${dst_ip}\s+${proto_flag}\s+${dscp}\s+${dscp_val}\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+${src_comparision}\s+${src_port}\s+${dst_ip}\s+${dst_comparision}\s+${dst_port}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+${src_comparision}\s+${src_port}\s+${dst_ip}\s+${dst_comparision}\s+${dst_port}\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+${src_comparision}\s+${src_port}\s+${dst_ip}\s+${dst_comparision}\s+${dst_port}\s+${dscp}\s+${dscp_val}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+${src_comparision}\s+${src_port}\s+${dst_ip}\s+${dst_comparision}\s+${dst_port}\s+${dscp}\s+${dscp_val}\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+${src_comparision}\s+${src_port}\s+${dst_ip}\s+${dst_comparision}\s+${dst_port}\s+${proto_flag}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+${src_comparision}\s+${src_port}\s+${dst_ip}\s+${dst_comparision}\s+${dst_port}\s+${proto_flag}\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+${src_comparision}\s+${src_port}\s+${dst_ip}\s+${dst_comparision}\s+${dst_port}\s+${proto_flag}\s+${dscp}\s+${dscp_val}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+${src_comparision}\s+${src_port}\s+${dst_ip}\s+${dst_comparision}\s+${dst_port}\s+${proto_flag}\s+${dscp}\s+${dscp_val}\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+${src_ip}\s+${dst_ip}\s+${proto_flag}\s+vlan\s+${vlan}\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+${src_ip}\s+${dst_ip}\s+${proto_flag}\s+vlan\s+${vlan}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+${src_ip}\s+${dst_ip}\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+${src_ip}\s+${dst_ip}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+${src_ip}\s+${src_comparision}\s+${src_port}\s+${dst_ip}\s+${dst_comparision}\s+${dst_port}\s+${dscp}\s+${dscp_val}\s+${proto_flag}vlan\s+${vlan}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+${src_ip}\s+${src_comparision}\s+${src_port}\s+${dst_ip}\s+${dst_comparision}\s+${dst_port}\s+${dscp}\s+${dscp_val}\s+${proto_flag}vlan\s+${vlan}\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+${src_ip}\s+${src_comparision}\s+${src_port}\s+${dst_ip}\s+${dst_comparision}\s+${dst_port}\s+range\s+${dst_range}${dscp}\s+${dscp_val}\s+vlan\s+${vlan}\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+${src_ip}\s+${src_comparision}\s+${src_port}\s+${dst_ip}\s+${dst_comparision}\s+${dst_port}\s+range\s+${dst_range}${dscp}\s+${dscp_val}\s+vlan\s+${vlan}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+${src_ip}\s+${src_comparision}\s+${src_port}\s+${dst_ip}\s+range\s+${dst_range}${dscp}\s+${dscp_val}\s+vlan\s+${vlan}\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+${src_ip}\s+${src_comparision}\s+${src_port}\s+${dst_ip}\s+range\s+${dst_range}${dscp}\s+${dscp_val}\s+vlan\s+${vlan}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+${src_ip}\s+${src_comparision}\s+${src_port}\s+${dst_ip}\s+range\s+${dst_range}${dscp}\s+${dscp_val}\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+${src_ip}\s+${src_comparision}\s+${src_port}\s+${dst_ip}\s+range\s+${dst_range}${dscp}\s+${dscp_val}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+${src_ip}\s+${dst_ip}\s+range\s+${dst_range}\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+${src_ip}\s+${dst_ip}\s+range\s+${dst_range}\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+${src_ip}\s+range\s+${src_range}${dst_ip}\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+${src_ip}\s+range\s+${src_range}${dst_ip}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+${src_ip}\s+${dst_ip}\s+${proto_flag}$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+${src_ip}\s+${dst_ip}\s+${proto_flag}\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+${src_ip}\s+${src_comparision}\s+${src_port}\s+${dst_ip}\s+${dst_comparision}\s+${dst_port}\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+${src_ip}\s+${src_comparision}\s+${src_port}\s+${dst_ip}\s+${dst_comparision}\s+${dst_port}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+${src_comparision}\s+${src_port}\s+host\s+${dst_ip}\s+range\s+${dst_range}${dscp}\s+${dscp_val}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+range\s+${src_range}host\s+${dst_ip}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+host\s+${src_ip}\s+${src_comparision}\s+${src_port}\s+host\s+${dst_ip}\s+${dst_comparision}\s+${dst_port}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s(host\s)*(${src_mac_address})*\s*(${src_mac_mask})*\s+(host\s)*(${dst_mac_address})*\s*(${dst_mac_mask})*\s*(pcp\s${pcp})*\s*(pcp-mask\s${pcp_mask})*\s*(dei\s${dei})*\s*(vlan\s${vlan})*\s*(\(${packetscnt}\spackets\)\s\[${bytescnt}\sbytes])*\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+host\s+${src_mac_address}\s+host\s+${dst_mac_address}\s+ip\s+vlan\s+${vlan}(\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes])*\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}\s+${src_ip}\s+${dst_ip}\s+${proto_flag}\s+vlan\s+${vlan}(\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes])*\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${proto}(\s+host)*\s+${src_ip}(\s+${src_comparision}\s+${src_port})*(\s+range\s+${src_range})*(\s+host)*\s+${dst_ip}(\s+${dst_comparision}\s+${dst_port})*(\s+range\s+${dst_range})*(\s+${proto_flag})*(\s+${dscp}\s+${dscp_val})*(\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes])*\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${src_ip}\s+${dst_ip}\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes\]\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${src_mac_address}\s+${dst_mac_address}\s+vlan-tag-format\s+multi-tagged(\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes])*\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+${src_mac_address}\s+host\s+${dst_mac_address}\s+vlan-tag-format\s+multi-tagged(\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes])*\s*$$ -> Record
^\s*seq\s+${rule_no}\s+${action}\s+host\s+${src_mac_address}\s+${dst_mac_address}\s+vlan-tag-format\s+multi-tagged(\s+\(${packetscnt}\s+packets\)\s+\[${bytescnt}\s+bytes])*\s*$$ -> Record

EOF
EOF
7 changes: 7 additions & 0 deletions spytest/templates/show_ip_arp.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,21 @@ Value MacAddress (..:..:..:..:..:..)
Value Iface (\S+)
Value Vlan (\S+)
Value count (\d+)
Value type (\w+)
Value sub_type (\w)
Value action (\w+)


Start
^\s*Address\s+Hardware\s+address\s+Interface\s+Egress\s+Interface\s*$$ -> ARP
^\s*Address\s+Hardware\s+address\s+Interface\s+Egress\s+Interface\s+Type(\s+Action)?\s*$$ -> NEWARP
^\s*Total\s+Entries\s*$$ -> COUNT

ARP
^\s*${Address}\s+${MacAddress}\s+${Iface}\s+${Vlan}\s*$$ -> Record

NEWARP
^\s*${Address}\s+${MacAddress}\s+${Iface}\s+(VxLAN DIP: )*${Vlan}\s+${type}(\(${sub_type}\))*(\s+${action})?\s*$$ -> Record

COUNT
^\s*${count}\s*$$ -> Record
Loading

0 comments on commit bc60bfd

Please sign in to comment.