diff mbox series

[ovs-dev] tests: Fix tests with GNU grep 3.8

Message ID ff644f2e-9aae-70ae-7c88-5fc340267c1c@gmx.de
State Accepted
Commit 75c355adc057be47323ae56b5bfb3ff6b799d95f
Headers show
Series [ovs-dev] tests: Fix tests with GNU grep 3.8 | expand

Commit Message

Andreas Stieger Sept. 12, 2022, 8:46 p.m. UTC
GNU grep 3.8 started to emit warnings when invoking egrep/fgrep. In some
cases this breaks tests that check stderr. Replace the commands with
their grep -E and grep -F counterparts throughout.

Signed-off-by: Andreas Stieger <Andreas.Stieger@gmx.de>
Reported-at: https://bugzilla.opensuse.org/show_bug.cgi?id=1203239
Submitted-at: https://github.com/openvswitch/ovs/pull/395
---
  tests/ofproto-dpif.at            |  12 +--
  tests/ovs-macros.at              |   2 +-
  tests/ovs-ofctl.at               |   6 +-
  tests/system-dpdk-macros.at      |   2 +-
  tests/system-dpdk.at             |  48 ++++-----
  tests/system-offloads-traffic.at |   4 +-
  tests/system-traffic.at          | 162 +++++++++++++++----------------
  tests/tunnel-push-pop.at         |   6 +-
  8 files changed, 121 insertions(+), 121 deletions(-)

  AT_CHECK([ovs-ofctl -O OpenFlow13 packet-out int-br CONTROLLER
"debug_slow,output:2" "${packet}5"])
-OVS_WAIT_UNTIL([test `ovs-pcap p0.pcap | egrep "${encap}${packet}5" |
wc -l` -ge 1])
+OVS_WAIT_UNTIL([test `ovs-pcap p0.pcap | grep -E "${encap}${packet}5" |
wc -l` -ge 1])

  dnl Datapath actions should not have tunnel push action.
  AT_CHECK([ovs-appctl dpctl/dump-flows | grep -q tnl_push], [1])
--
2.37.3

Comments

Ilya Maximets Sept. 14, 2022, 11:33 a.m. UTC | #1
On 9/12/22 22:46, Andreas Stieger wrote:
> GNU grep 3.8 started to emit warnings when invoking egrep/fgrep. In some
> cases this breaks tests that check stderr. Replace the commands with
> their grep -E and grep -F counterparts throughout.
> 
> Signed-off-by: Andreas Stieger <Andreas.Stieger@gmx.de>
> Reported-at: https://bugzilla.opensuse.org/show_bug.cgi?id=1203239
> Submitted-at: https://github.com/openvswitch/ovs/pull/395
> ---

Thanks for the fix, Andreas!

I actually didn't know that egrep/fgrep are obsolete. :)

The patch in this email is malformed.  Either your mail client or
server mangled it while sending, so it can not be applied.  But
I got your change from the pull request and it is fine.

Applied to master and backported down to 2.17.

Best regards, Ilya Maximets.
diff mbox series

Patch

diff --git a/tests/ofproto-dpif.at b/tests/ofproto-dpif.at
index 02533f11d..967d02780 100644
--- a/tests/ofproto-dpif.at
+++ b/tests/ofproto-dpif.at
@@ -159,7 +159,7 @@  dnl bring the primary back and verify that we
switched back to the
  dnl primary.
  ovs-appctl netdev-dummy/set-admin-state p1 down
  ovs-appctl time/warp 100
-OVS_WAIT_UNTIL([test -n "`ovs-appctl bond/show | fgrep 'member p1:
disabled'`"])
+OVS_WAIT_UNTIL([test -n "`ovs-appctl bond/show | grep -F 'member p1:
disabled'`"])
  ovs-appctl netdev-dummy/set-admin-state p1 up
  ovs-appctl time/warp 100
  OVS_WAIT_UNTIL_EQUAL([ovs-appctl bond/show | STRIP_RECIRC_ID |
STRIP_ACTIVE_MEMBER_MAC], [dnl
@@ -190,7 +190,7 @@  dnl Now delete the primary and verify that the
output shows that the
  dnl primary is no longer an member
  ovs-vsctl --id=@p1 get Interface p1 -- remove Port bond0 interfaces @p1
  ovs-appctl time/warp 100
-OVS_WAIT_UNTIL([test -n "`ovs-appctl bond/show | fgrep 'active-backup
primary: p1 (no such member)'`"])
+OVS_WAIT_UNTIL([test -n "`ovs-appctl bond/show | grep -F 'active-backup
primary: p1 (no such member)'`"])

  dnl Now re-add the primary and verify that the output shows that the
  dnl primary is available again.
@@ -369,9 +369,9 @@  ovs-appctl time/warp 100
  AT_CHECK([ovs-appctl dpif/dump-flows br1 > br1_flows.txt])
  # Make sure there is resonable distribution to all three ports.
  # We don't want to make this check precise, in case hash function changes.
-AT_CHECK([test `egrep 'in_port\(4\)' br1_flows.txt |wc -l` -gt 3])
-AT_CHECK([test `egrep 'in_port\(5\)' br1_flows.txt |wc -l` -gt 3])
-AT_CHECK([test `egrep 'in_port\(6\)' br1_flows.txt |wc -l` -gt 3])
+AT_CHECK([test `grep -E 'in_port\(4\)' br1_flows.txt |wc -l` -gt 3])
+AT_CHECK([test `grep -E 'in_port\(5\)' br1_flows.txt |wc -l` -gt 3])
+AT_CHECK([test `grep -E 'in_port\(6\)' br1_flows.txt |wc -l` -gt 3])
  OVS_VSWITCHD_STOP
  AT_CLEANUP

@@ -5626,7 +5626,7 @@  ovs-vsctl \

  flow="in_port=1"
  AT_CHECK([ovs-appctl ofproto/trace br0 "$flow"], [0], [stdout])
-AT_CHECK([tail -1 stdout | egrep
"trunc\(200\),2,trunc\(300\),3,100|trunc\(300\),3,trunc\(200\),2,100"],
[0], [stdout])
+AT_CHECK([tail -1 stdout | grep -E
"trunc\(200\),2,trunc\(300\),3,100|trunc\(300\),3,trunc\(200\),2,100"],
[0], [stdout])

  OVS_VSWITCHD_STOP
  AT_CLEANUP
diff --git a/tests/ovs-macros.at b/tests/ovs-macros.at
index 6c61723b2..39fbfceeb 100644
--- a/tests/ovs-macros.at
+++ b/tests/ovs-macros.at
@@ -134,7 +134,7 @@  parent_pid () {
      # e.g. Alpine Linux) is noncompliant, so we use a Linux-specific
approach
      # when it's available.  We check the format of the status file to
avoid
      # the NetBSD file with the same name but different contents.
-    if egrep '^PPid:[[:space:]]*[0-9]*$' /proc/$1/status > /dev/null
2>&1; then
+    if grep -E '^PPid:[[:space:]]*[0-9]*$' /proc/$1/status > /dev/null
2>&1; then
          sed -n 's/^PPid:    \([0-9]*\)/\1/p' /proc/$1/status
      else
          ps -o ppid= -p $1
diff --git a/tests/ovs-ofctl.at b/tests/ovs-ofctl.at
index 858dcda1f..a8934051e 100644
--- a/tests/ovs-ofctl.at
+++ b/tests/ovs-ofctl.at
@@ -3243,9 +3243,9 @@  AT_CHECK([ovs-testcontroller -vsyslog:off --detach
--no-chdir --pidfile punix:te
  OVS_WAIT_UNTIL([test -e testcontroller])

  dnl check for some of the initial handshake messages
-OVS_WAIT_UNTIL([egrep "OFPT_FEATURES_REQUEST" snoopbr0.txt >/dev/null
2>&1])
-OVS_WAIT_UNTIL([egrep "OFPT_FEATURES_REPLY" snoopbr0.txt >/dev/null 2>&1])
-OVS_WAIT_UNTIL([egrep "OFPT_SET_CONFIG" snoopbr0.txt >/dev/null 2>&1])
+OVS_WAIT_UNTIL([grep -E "OFPT_FEATURES_REQUEST" snoopbr0.txt >/dev/null
2>&1])
+OVS_WAIT_UNTIL([grep -E "OFPT_FEATURES_REPLY" snoopbr0.txt >/dev/null
2>&1])
+OVS_WAIT_UNTIL([grep -E "OFPT_SET_CONFIG" snoopbr0.txt >/dev/null 2>&1])

  dnl need to suppress the 'connection failed' WARN message in ovs-vswitchd
  dnl because we need ovs-vswitchd to have the controller config before
starting
diff --git a/tests/system-dpdk-macros.at b/tests/system-dpdk-macros.at
index d171a4508..53fbc1320 100644
--- a/tests/system-dpdk-macros.at
+++ b/tests/system-dpdk-macros.at
@@ -6,7 +6,7 @@ 
  m4_define([OVS_DPDK_PRE_CHECK],
    [dnl Check Hugepages
     AT_CHECK([cat /proc/meminfo], [], [stdout])
-   AT_SKIP_IF([egrep 'HugePages_Free: *0' stdout], [], [stdout])
+   AT_SKIP_IF([grep -E 'HugePages_Free: *0' stdout], [], [stdout])
     AT_CHECK([mount], [], [stdout])
     AT_CHECK([grep 'hugetlbfs' stdout], [], [stdout], [])

diff --git a/tests/system-dpdk.at b/tests/system-dpdk.at
index 15f97097a..770a1cc32 100644
--- a/tests/system-dpdk.at
+++ b/tests/system-dpdk.at
@@ -262,10 +262,10 @@  AT_CHECK([ovs-vsctl set interface phy0
ingress_policing_rate=0 ingress_policing_

  dnl Check policer was removed correctly
  AT_CHECK([ovs-vsctl list interface phy0], [], [stdout])
-AT_CHECK([egrep 'ingress_policing_burst: 0' stdout], [], [stdout])
+AT_CHECK([grep -E 'ingress_policing_burst: 0' stdout], [], [stdout])

  AT_CHECK([ovs-vsctl list interface phy0], [], [stdout])
-AT_CHECK([egrep 'ingress_policing_rate: 0' stdout], [], [stdout])
+AT_CHECK([grep -E 'ingress_policing_rate: 0' stdout], [], [stdout])

  dnl Clean up
  AT_CHECK([ovs-vsctl del-port br10 phy0], [], [stdout], [stderr])
@@ -298,10 +298,10 @@  AT_CHECK([ovs-vsctl set interface
dpdkvhostuserclient0 ingress_policing_rate=0 i

  dnl Check ingress policer was removed correctly
  AT_CHECK([ovs-vsctl list interface dpdkvhostuserclient0], [], [stdout])
-AT_CHECK([egrep 'ingress_policing_burst: 0' stdout], [], [stdout])
+AT_CHECK([grep -E 'ingress_policing_burst: 0' stdout], [], [stdout])

  AT_CHECK([ovs-vsctl list interface dpdkvhostuserclient0], [], [stdout])
-AT_CHECK([egrep 'ingress_policing_rate: 0' stdout], [], [stdout])
+AT_CHECK([grep -E 'ingress_policing_rate: 0' stdout], [], [stdout])

  dnl Parse log file
  AT_CHECK([grep "VHOST_CONFIG: vhost-user client: socket created"
ovs-vswitchd.log], [], [stdout])
@@ -338,10 +338,10 @@  AT_FAIL_IF([grep "Could not create rte meter for
ingress policer" ovs-vswitchd.l

  dnl Check ingress policer was created correctly
  AT_CHECK([ovs-vsctl list interface dpdkvhostuserclient0], [], [stdout])
-AT_CHECK([egrep 'ingress_policing_burst: 1000' stdout], [], [stdout])
+AT_CHECK([grep -E 'ingress_policing_burst: 1000' stdout], [], [stdout])

  AT_CHECK([ovs-vsctl list interface dpdkvhostuserclient0], [], [stdout])
-AT_CHECK([egrep 'ingress_policing_rate: 0' stdout], [], [stdout])
+AT_CHECK([grep -E 'ingress_policing_rate: 0' stdout], [], [stdout])


  dnl Parse log file
@@ -379,10 +379,10 @@  AT_FAIL_IF([grep "Could not create rte meter for
ingress policer" ovs-vswitchd.l

  dnl Check ingress policer was created correctly
  AT_CHECK([ovs-vsctl list interface dpdkvhostuserclient0], [], [stdout])
-AT_CHECK([egrep 'ingress_policing_burst: 0' stdout], [], [stdout])
+AT_CHECK([grep -E 'ingress_policing_burst: 0' stdout], [], [stdout])

  AT_CHECK([ovs-vsctl list interface dpdkvhostuserclient0], [], [stdout])
-AT_CHECK([egrep 'ingress_policing_rate: 10000' stdout], [], [stdout])
+AT_CHECK([grep -E 'ingress_policing_rate: 10000' stdout], [], [stdout])

  dnl Parse log file
  AT_CHECK([grep "VHOST_CONFIG: vhost-user client: socket created"
ovs-vswitchd.log], [], [stdout])
@@ -421,7 +421,7 @@  AT_CHECK([ovs-vsctl destroy QoS phy0 -- clear Port
phy0 qos])

  dnl Check egress policer was removed correctly
  AT_CHECK([ovs-appctl -t ovs-vswitchd qos/show phy0], [], [stdout])
-AT_CHECK([egrep 'QoS not configured on phy0' stdout], [], [stdout])
+AT_CHECK([grep -E 'QoS not configured on phy0' stdout], [], [stdout])

  dnl Clean up
  AT_CHECK([ovs-vsctl del-port br10 phy0], [], [stdout], [stderr])
@@ -460,7 +460,7 @@  AT_CHECK([ovs-vsctl destroy QoS dpdkvhostuserclient0
-- clear Port dpdkvhostuser

  dnl Check egress policer was removed correctly
  AT_CHECK([ovs-appctl -t ovs-vswitchd qos/show dpdkvhostuserclient0],
[], [stdout])
-AT_CHECK([egrep 'QoS not configured on dpdkvhostuserclient0' stdout],
[], [stdout])
+AT_CHECK([grep -E 'QoS not configured on dpdkvhostuserclient0' stdout],
[], [stdout])

  dnl Clean up
  AT_CHECK([ovs-vsctl del-port br10 dpdkvhostuserclient0], [], [stdout],
[stderr])
@@ -493,7 +493,7 @@  AT_CHECK([grep "VHOST_CONFIG:
$OVS_RUNDIR/dpdkvhostclient0: reconnecting..." ovs

  dnl Check egress policer was not created
  AT_CHECK([ovs-appctl -t ovs-vswitchd qos/show dpdkvhostuserclient0],
[], [stdout])
-AT_CHECK([egrep 'QoS not configured on dpdkvhostuserclient0' stdout],
[], [stdout])
+AT_CHECK([grep -E 'QoS not configured on dpdkvhostuserclient0' stdout],
[], [stdout])

  dnl Clean up
  AT_CHECK([ovs-vsctl del-port br10 dpdkvhostuserclient0], [], [stdout],
[stderr])
@@ -528,7 +528,7 @@  AT_CHECK([grep "VHOST_CONFIG:
$OVS_RUNDIR/dpdkvhostclient0: reconnecting..." ovs

  dnl Check egress policer was not created
  AT_CHECK([ovs-appctl -t ovs-vswitchd qos/show dpdkvhostuserclient0],
[], [stdout])
-AT_CHECK([egrep 'QoS not configured on dpdkvhostuserclient0' stdout],
[], [stdout])
+AT_CHECK([grep -E 'QoS not configured on dpdkvhostuserclient0' stdout],
[], [stdout])

  dnl Clean up
  AT_CHECK([ovs-vsctl del-port br10 dpdkvhostuserclient0], [], [stdout],
[stderr])
@@ -561,7 +561,7 @@  sleep 2

  dnl Check default MTU value in the datapath
  AT_CHECK([ovs-appctl dpctl/show], [], [stdout])
-AT_CHECK([egrep 'mtu=1500' stdout], [], [stdout])
+AT_CHECK([grep -E 'mtu=1500' stdout], [], [stdout])

  dnl Increase MTU value and check in the datapath
  AT_CHECK([ovs-vsctl set Interface phy0 mtu_request=9000])
@@ -573,7 +573,7 @@  dnl Fail if error is encountered during MTU setup
  AT_FAIL_IF([grep "Interface phy0 MTU (9000) setup error"
ovs-vswitchd.log], [], [stdout])

  AT_CHECK([ovs-appctl dpctl/show], [], [stdout])
-AT_CHECK([egrep 'mtu=9000' stdout], [], [stdout])
+AT_CHECK([grep -E 'mtu=9000' stdout], [], [stdout])


  dnl Clean up
@@ -609,13 +609,13 @@  AT_FAIL_IF([grep "Interface phy0 MTU (9000) setup
error" ovs-vswitchd.log], [],

  dnl Check MTU value in the datapath
  AT_CHECK([ovs-appctl dpctl/show], [], [stdout])
-AT_CHECK([egrep 'mtu=9000' stdout], [], [stdout])
+AT_CHECK([grep -E 'mtu=9000' stdout], [], [stdout])

  dnl Decrease MTU value and check in the datapath
  AT_CHECK([ovs-vsctl set Interface phy0 mtu_request=2000])

  AT_CHECK([ovs-appctl dpctl/show], [], [stdout])
-AT_CHECK([egrep 'mtu=2000' stdout], [], [stdout])
+AT_CHECK([grep -E 'mtu=2000' stdout], [], [stdout])


  dnl Clean up
@@ -661,13 +661,13 @@  OVS_WAIT_UNTIL([grep "virtio is now ready for
processing" ovs-vswitchd.log])

  dnl Check default MTU value in the datapath
  AT_CHECK([ovs-appctl dpctl/show], [], [stdout])
-AT_CHECK([egrep 'mtu=1500' stdout], [], [stdout])
+AT_CHECK([grep -E 'mtu=1500' stdout], [], [stdout])

  dnl Increase MTU value and check in the datapath
  AT_CHECK([ovs-vsctl set Interface dpdkvhostuserclient0 mtu_request=9000])

  AT_CHECK([ovs-appctl dpctl/show], [], [stdout])
-AT_CHECK([egrep 'mtu=9000' stdout], [], [stdout])
+AT_CHECK([grep -E 'mtu=9000' stdout], [], [stdout])

  dnl Clean up the testpmd now
  pkill -f -x -9 'tail -f /dev/null'
@@ -718,13 +718,13 @@  OVS_WAIT_UNTIL([grep "virtio is now ready for
processing" ovs-vswitchd.log])

  dnl Check MTU value in the datapath
  AT_CHECK([ovs-appctl dpctl/show], [], [stdout])
-AT_CHECK([egrep 'mtu=9000' stdout], [], [stdout])
+AT_CHECK([grep -E 'mtu=9000' stdout], [], [stdout])

  dnl Decrease MTU value and check in the datapath
  AT_CHECK([ovs-vsctl set Interface dpdkvhostuserclient0 mtu_request=2000])

  AT_CHECK([ovs-appctl dpctl/show], [], [stdout])
-AT_CHECK([egrep 'mtu=2000' stdout], [], [stdout])
+AT_CHECK([grep -E 'mtu=2000' stdout], [], [stdout])

  dnl Clean up the testpmd now
  pkill -f -x -9 'tail -f /dev/null'
@@ -762,7 +762,7 @@  AT_FAIL_IF([grep "Interface phy0 MTU (9702) setup
error" ovs-vswitchd.log], [],

  dnl Check MTU value in the datapath
  AT_CHECK([ovs-appctl dpctl/show], [], [stdout])
-AT_CHECK([egrep 'mtu=9702' stdout], [], [stdout])
+AT_CHECK([grep -E 'mtu=9702' stdout], [], [stdout])

  dnl Set MTU value above upper bound and check for error
  AT_CHECK([ovs-vsctl set Interface phy0 mtu_request=9711])
@@ -803,7 +803,7 @@  AT_FAIL_IF([grep "Interface phy0 MTU (68) setup
error" ovs-vswitchd.log], [], [s

  dnl Check MTU value in the datapath
  AT_CHECK([ovs-appctl dpctl/show], [], [stdout])
-AT_CHECK([egrep 'mtu=68' stdout], [], [stdout])
+AT_CHECK([grep -E 'mtu=68' stdout], [], [stdout])

  dnl Set MTU value below lower bound and check for error
  AT_CHECK([ovs-vsctl set Interface phy0 mtu_request=67])
@@ -852,7 +852,7 @@  OVS_WAIT_UNTIL([grep "virtio is now ready for
processing" ovs-vswitchd.log])

  dnl Check MTU value in the datapath
  AT_CHECK([ovs-appctl dpctl/show], [], [stdout])
-AT_CHECK([egrep 'mtu=9702' stdout], [], [stdout])
+AT_CHECK([grep -E 'mtu=9702' stdout], [], [stdout])

  dnl Set MTU value above upper bound and check for error
  AT_CHECK([ovs-vsctl set Interface dpdkvhostuserclient0 mtu_request=9711])
@@ -909,7 +909,7 @@  OVS_WAIT_UNTIL([grep "virtio is now ready for
processing" ovs-vswitchd.log])

  dnl Check MTU value in the datapath
  AT_CHECK([ovs-appctl dpctl/show], [], [stdout])
-AT_CHECK([egrep 'mtu=68' stdout], [], [stdout])
+AT_CHECK([grep -E 'mtu=68' stdout], [], [stdout])

  dnl Set MTU value below lower bound and check for error
  AT_CHECK([ovs-vsctl set Interface dpdkvhostuserclient0 mtu_request=67])
diff --git a/tests/system-offloads-traffic.at
b/tests/system-offloads-traffic.at
index d9b815a5d..1a6057080 100644
--- a/tests/system-offloads-traffic.at
+++ b/tests/system-offloads-traffic.at
@@ -102,7 +102,7 @@  AT_CHECK([tc -o -s -d filter show dev ovs-p0 ingress |
  rate 100Kbit burst 1280b
  ])
  AT_CHECK([tc -s -d filter show dev ovs-p0 ingress |
-  egrep "basic|matchall" > /dev/null], [0])
+  grep -E "basic|matchall" > /dev/null], [0])
  OVS_TRAFFIC_VSWITCHD_STOP
  AT_CLEANUP

@@ -150,7 +150,7 @@  AT_CHECK([tc -o -s -d filter show dev ovs-p0 ingress |
  pkts_rate 100000 pkts_burst 10000
  ])
  AT_CHECK([tc -s -d filter show dev ovs-p0 ingress |
-  egrep "basic|matchall" > /dev/null], [0])
+  grep -E "basic|matchall" > /dev/null], [0])
  OVS_TRAFFIC_VSWITCHD_STOP
  AT_CLEANUP

diff --git a/tests/system-traffic.at b/tests/system-traffic.at
index 2785994d5..731de439c 100644
--- a/tests/system-traffic.at
+++ b/tests/system-traffic.at
@@ -893,11 +893,11 @@  dnl ADD_NATIVE_TUNNEL([gretap], [ns_gre0],
[at_ns0], [172.31.1.100], [10.1.1.1/2
  dnl Now, check the overlay by sending out raw arp and icmp packets.
  ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1
packet=f2ff00000002f2ff00000003080045000042ec2c4000402ff3bcac1f0101ac1f016400006558fffffffffffff2ff0000000408060001080006040001f2ff000000040a0101010000000000000a010164
actions=NORMAL"

-OVS_WAIT_UNTIL([cat p0.pcap | egrep "IP 172.31.1.100 > 172.31.1.1:
GREv0, length 46: ARP, Reply 10.1.1.100 is-at f2:ff:00:00:00:01.* length
28" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "IP 172.31.1.100 > 172.31.1.1:
GREv0, length 46: ARP, Reply 10.1.1.100 is-at f2:ff:00:00:00:01.* length
28" 2>&1 1>/dev/null])

  ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1
packet=f2ff00000002f2ff0000000308004500007aec8e4000402ff322ac1f0101ac1f016400006558f2ff00000001f2ff00000004080045000054548f40004001cfb30a0101010a0101640800e6e829270003e1a3435b00000000ff1a050000000000101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334353637
actions=NORMAL"

-OVS_WAIT_UNTIL([cat p0.pcap | egrep "IP 172.31.1.100 > 172.31.1.1:
GREv0, length 102: IP 10.1.1.100 > 10.1.1.1: ICMP echo reply,.* length
64$" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "IP 172.31.1.100 > 172.31.1.1:
GREv0, length 102: IP 10.1.1.100 > 10.1.1.1: ICMP echo reply,.* length
64$" 2>&1 1>/dev/null])

  OVS_TRAFFIC_VSWITCHD_STOP
  AT_CLEANUP
@@ -938,15 +938,15 @@  dnl Okay, now send out an arp request from
10.1.1.1 for 10.1.1.100 in erspan.
  ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1
packet=f2ff00000002f2ff0000000308004500004e151d4000402fcac0ac1f0101ac1f0164100088be000000061000000100000007fffffffffffff2ff0000000408060001080006040001f2ff000000040a0101010000000000000a010164
actions=normal"

  dnl 0002 is arp reply, followed by mac address of 10.1.1.100.
-OVS_WAIT_UNTIL([cat p0.pcap | egrep "0x0030:  0806 0001 0800 0604 0002
f2ff 0000 0001" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p0.pcap | egrep "0x0040:  0a01 0164 f2ff 0000 0004
0a01 0101" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "0x0030:  0806 0001 0800 0604
0002 f2ff 0000 0001" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "0x0040:  0a01 0164 f2ff 0000
0004 0a01 0101" 2>&1 1>/dev/null])

  dnl Okay, now check the overlay with raw icmp packets.
-AT_FAIL_IF([cat p0.pcap | egrep "IP 172.31.1.100 > 172.31.1.1: GREv0,.*
length 122" 2>&1 1>/dev/null])
+AT_FAIL_IF([cat p0.pcap | grep -E "IP 172.31.1.100 > 172.31.1.1:
GREv0,.* length 122" 2>&1 1>/dev/null])

  ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1
packet=f2ff00000002f2ff0000000308004500008e70cb4000402f6ed2ac1f0101ac1f0164100088be000000051000000100000007f2ff00000001f2ff0000000408004500005c4a3340004001da070a0101010a010164080084f238fb0001f36a6b5b0000000021870e0000000000101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f
actions=normal"

-OVS_WAIT_UNTIL([cat p0.pcap | egrep "IP 172.31.1.100 > 172.31.1.1:
GREv0,.* length 122" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "IP 172.31.1.100 > 172.31.1.1:
GREv0,.* length 122" 2>&1 1>/dev/null])

  OVS_TRAFFIC_VSWITCHD_STOP
  AT_CLEANUP
@@ -990,17 +990,17 @@  NS_CHECK_EXEC([at_ns0], [ping -q -c 3 -i 0.3 -w 2
172.31.1.100 | FORMAT_PING], [
  dnl Okay, send raw arp request and icmp echo request.
  ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1
packet=f2ff00000002f2ff00000003080045000052373d4000402fa89cac1f0101ac1f0164100088be00000006200000016f54b41700008078fffffffffffff2ff0000000408060001080006040001f2ff000000040a0101010000000000000a010164
actions=normal"

-OVS_WAIT_UNTIL([cat p0.pcap | egrep "0x0030:  0000 0001 0806 0001 0800
0604 0002 f2ff" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p0.pcap | egrep "0x0040:  0000 0001 0a01 0164 f2ff
0000 0004 0a01" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p0.pcap | egrep "0x0050:  0101" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "0x0030:  0000 0001 0806 0001
0800 0604 0002 f2ff" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "0x0040:  0000 0001 0a01 0164
f2ff 0000 0004 0a01" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "0x0050:  0101" 2>&1 1>/dev/null])

  dnl Because tcpdump might not be able to parse erspan headers, we
check icmp echo reply
  dnl by packet length.
-AT_FAIL_IF([cat p0.pcap | egrep "IP 172.31.1.100 > 172.31.1.1: GREv0,.*
length 126" 2>&1 1>/dev/null])
+AT_FAIL_IF([cat p0.pcap | grep -E "IP 172.31.1.100 > 172.31.1.1:
GREv0,.* length 126" 2>&1 1>/dev/null])

  ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1
packet=f2ff00000002f2ff0000000308004500009287e14000402f57b8ac1f0101ac1f0164100088be0000000520000001144cd5a400008078f2ff00000001f2ff0000000408004500005c38d640004001eb640a0101010a01016408005e57585f0001df6c6b5b0000000045bc050000000000101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f
actions=normal"

-OVS_WAIT_UNTIL([cat p0.pcap | egrep "IP 172.31.1.100 > 172.31.1.1:
GREv0,.* length 126" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "IP 172.31.1.100 > 172.31.1.1:
GREv0,.* length 126" 2>&1 1>/dev/null])

  OVS_TRAFFIC_VSWITCHD_STOP
  AT_CLEANUP
@@ -1048,15 +1048,15 @@  dnl Okay, now send raw arp request and icmp echo
request.
  ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1
packet=f2ff00000002f2ff0000000386dd60008531003a2f40fc000100000000000000000000000001fc000100000000000000000000000100100088be000000051000007b00000007fffffffffffff2ff0000000408060001080006040001f2ff000000040a0101010000000000000a010164
actions=normal"

  dnl Check arp reply.
-OVS_WAIT_UNTIL([cat p0.pcap | egrep "0x0040:  0000 0001 0806 0001 0800
0604 0002 f2ff" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p0.pcap | egrep "0x0050:  0000 0001 0a01 0164 f2ff
0000 0004 0a01" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p0.pcap | egrep "0x0060:  0101" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "0x0040:  0000 0001 0806 0001
0800 0604 0002 f2ff" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "0x0050:  0000 0001 0a01 0164
f2ff 0000 0004 0a01" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "0x0060:  0101" 2>&1 1>/dev/null])

-AT_FAIL_IF([cat p0.pcap | egrep "IP6 fc00:100::100 > fc00:100::1:
GREv0,.* length 114" 2>&1 1>/dev/null])
+AT_FAIL_IF([cat p0.pcap | grep -E "IP6 fc00:100::100 > fc00:100::1:
GREv0,.* length 114" 2>&1 1>/dev/null])

  ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1
packet=f2ff00000002f2ff0000000386dd60008531007a3c40fc000100000000000000000000000001fc0001000000000000000000000001002f00040104010100100088be000000061000407b00000007f2ff00000001f2ff0000000408004500005429b640004001fa8c0a0101010a01016408005c2c7526000118d3685b00000000e4aa020000000000101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334353637
actions=normal"

-OVS_WAIT_UNTIL([cat p0.pcap | egrep "IP6 fc00:100::100 > fc00:100::1:
GREv0,.* length 114" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "IP6 fc00:100::100 > fc00:100::1:
GREv0,.* length 114" 2>&1 1>/dev/null])

  OVS_TRAFFIC_VSWITCHD_STOP
  AT_CLEANUP
@@ -1103,15 +1103,15 @@  NS_CHECK_EXEC([at_ns0], [ping6 -q -c 3 -i 0.3 -w
2 fc00:100::100 | FORMAT_PING],
  dnl Okay, now send raw arp request and icmp echo request.
  ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1
packet=f2ff00000002f2ff0000000386dd60008531003e2f40fc000100000000000000000000000001fc000100000000000000000000000100100088be0000000620000079af514f9900008070fffffffffffff2ff0000000408060001080006040001f2ff000000040a0101010000000000000a010164
actions=normal"

-OVS_WAIT_UNTIL([cat p0.pcap | egrep "0x0040:  0004 f2ff 0000 0001 0806
0001 0800 0604" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p0.pcap | egrep "0x0050:  0002 f2ff 0000 0001 0a01
0164 f2ff 0000" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p0.pcap | egrep "0x0060:  0004 0a01 0101" 2>&1
1>/dev/null])
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "0x0040:  0004 f2ff 0000 0001
0806 0001 0800 0604" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "0x0050:  0002 f2ff 0000 0001
0a01 0164 f2ff 0000" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "0x0060:  0004 0a01 0101" 2>&1
1>/dev/null])

-AT_FAIL_IF([cat p0.pcap | egrep "IP6 fc00:100::100 > fc00:100::1:
GREv0, .* length 118" 2>&1 1>/dev/null])
+AT_FAIL_IF([cat p0.pcap | grep -E "IP6 fc00:100::100 > fc00:100::1:
GREv0, .* length 118" 2>&1 1>/dev/null])

  ovs-ofctl -O OpenFlow13 packet-out br-underlay "in_port=1
packet=f2ff00000002f2ff0000000386dd60008531007e3c40fc000100000000000000000000000001fc0001000000000000000000000001002f00040104010100100088be0000000720004079af514f9b00008070f2ff00000001f2ff00000004080045000054ffcb4000400124770a0101010a0101640800419e23ac000112d7685b000000004caf0c0000000000101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334353637
actions=normal"

-OVS_WAIT_UNTIL([cat p0.pcap | egrep "IP6 fc00:100::100 > fc00:100::1:
GREv0, .* length 118" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p0.pcap | grep -E "IP6 fc00:100::100 > fc00:100::1:
GREv0, .* length 118" 2>&1 1>/dev/null])

  OVS_TRAFFIC_VSWITCHD_STOP
  AT_CLEANUP
@@ -1903,10 +1903,10 @@  dnl p1(at_ns1) interface
  NS_CHECK_EXEC([at_ns0], [$PYTHON3 $srcdir/sendpkt.py p0 36 b1 ee 7c 01
02 36 b1 ee 7c 01 03 08 00 45 00 00 54 03 44 40 00 40 01 21 61 0a 01 01
01 0a 01 01 02 08 00 ef ac 7c e4 00 03 5b 2c 1f 61 00 00 00 00 50 0b 02
00 00 00 00 00 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22
23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37  >
/dev/null])

  dnl Check the expected mpls encapsulated packet on the egress interface
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0000:  *0000 *0000 *0002 *0000
*0000 *0001 *8847 *0000" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0010:  *2140 *36b1 *ee7c *0102
*36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0020:  *4500 *0054 *0344 *4000
*4001 *2161 *0a01 *0101" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0030:  *0a01 *0102 *0800 *efac
*7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0000:  *0000 *0000 *0002 *0000
*0000 *0001 *8847 *0000" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0010:  *2140 *36b1 *ee7c *0102
*36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0020:  *4500 *0054 *0344 *4000
*4001 *2161 *0a01 *0101" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0030:  *0a01 *0102 *0800 *efac
*7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null])

  OVS_TRAFFIC_VSWITCHD_STOP
  AT_CLEANUP
@@ -1935,10 +1935,10 @@  dnl p1(at_ns1) interface
  NS_CHECK_EXEC([at_ns0], [$PYTHON3 $srcdir/sendpkt.py p0 36 b1 ee 7c 01
02 36 b1 ee 7c 01 03 08 00 45 00 00 54 03 44 40 00 40 01 21 61 0a 01 01
01 0a 01 01 02 08 00 ef ac 7c e4 00 03 5b 2c 1f 61 00 00 00 00 50 0b 02
00 00 00 00 00 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22
23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37  >
/dev/null])

  dnl Check the expected mpls encapsulated packet on the egress interface
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0000:  *0000 *0000 *0002 *0000
*0000 *0001 *8847 *0000" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0010:  *2140 *36b1 *ee7c *0102
*36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0020:  *4500 *0054 *0344 *4000
*4001 *2161 *0a01 *0101" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0030:  *0a01 *0102 *0800 *efac
*7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0000:  *0000 *0000 *0002 *0000
*0000 *0001 *8847 *0000" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0010:  *2140 *36b1 *ee7c *0102
*36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0020:  *4500 *0054 *0344 *4000
*4001 *2161 *0a01 *0101" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0030:  *0a01 *0102 *0800 *efac
*7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null])

  OVS_TRAFFIC_VSWITCHD_STOP
  AT_CLEANUP
@@ -1968,10 +1968,10 @@  dnl p1(at_ns1) interface
  NS_CHECK_EXEC([at_ns0], [$PYTHON3 $srcdir/sendpkt.py p0 36 b1 ee 7c 01
02 36 b1 ee 7c 01 03 08 00 45 00 00 54 03 44 40 00 40 01 21 61 0a 01 01
01 0a 01 01 02 08 00 ef ac 7c e4 00 03 5b 2c 1f 61 00 00 00 00 50 0b 02
00 00 00 00 00 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22
23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37  >
/dev/null])

  dnl Check the expected mpls encapsulated packet on the egress interface
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0000:  *0000 *0000 *0002 *0000
*0000 *0001 *8848 *0000" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0010:  *2140 *36b1 *ee7c *0102
*36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0020:  *4500 *0054 *0344 *4000
*4001 *2161 *0a01 *0101" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0030:  *0a01 *0102 *0800 *efac
*7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0000:  *0000 *0000 *0002 *0000
*0000 *0001 *8848 *0000" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0010:  *2140 *36b1 *ee7c *0102
*36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0020:  *4500 *0054 *0344 *4000
*4001 *2161 *0a01 *0101" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0030:  *0a01 *0102 *0800 *efac
*7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null])

  OVS_TRAFFIC_VSWITCHD_STOP
  AT_CLEANUP
@@ -2000,10 +2000,10 @@  dnl p1(at_ns1) interface
  NS_CHECK_EXEC([at_ns0], [$PYTHON3 $srcdir/sendpkt.py p0 36 b1 ee 7c 01
02 36 b1 ee 7c 01 03 08 00 45 00 00 54 03 44 40 00 40 01 21 61 0a 01 01
01 0a 01 01 02 08 00 ef ac 7c e4 00 03 5b 2c 1f 61 00 00 00 00 50 0b 02
00 00 00 00 00 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22
23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37  >
/dev/null])

  dnl Check the expected mpls encapsulated packet on the egress interface
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0000:  *0000 *0000 *0002 *0000
*0000 *0001 *8848 *0000" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0010:  *2140 *36b1 *ee7c *0102
*36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0020:  *4500 *0054 *0344 *4000
*4001 *2161 *0a01 *0101" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0030:  *0a01 *0102 *0800 *efac
*7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0000:  *0000 *0000 *0002 *0000
*0000 *0001 *8848 *0000" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0010:  *2140 *36b1 *ee7c *0102
*36b1 *ee7c *0103 *0800" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0020:  *4500 *0054 *0344 *4000
*4001 *2161 *0a01 *0101" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0030:  *0a01 *0102 *0800 *efac
*7ce4 *0003 *5b2c *1f61" 2>&1 1>/dev/null])

  OVS_TRAFFIC_VSWITCHD_STOP
  AT_CLEANUP
@@ -2034,13 +2034,13 @@  dnl p1(at_ns1) interface
  NS_CHECK_EXEC([at_ns0], [$PYTHON3 $srcdir/sendpkt.py p0 00 00 00 00 00
02 00 00 00 00 00 01 88 47 00 00 21 40 36 b1 ee 7c 01 02 36 b1 ee 7c 01
03 08 00 45 00 00 54 03 44 40 00 40 01 21 61 0a 01 01 01 0a 01 01 02 08
00 ef ac 7c e4 00 03 5b 2c 1f 61 00 00 00 00 50 0b 02 00 00 00 00 00 10
11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28
29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37  > /dev/null])

  dnl Check the expected decapsulated on the egress interface
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0000:  *36b1 *ee7c *0102 *36b1
*ee7c *0103 *0800 *4500" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0010:  *0054 *0344 *4000 *4001
*2161 *0a01 *0101 *0a01" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0020:  *0102 *0800 *efac *7ce4
*0003 *5b2c *1f61 *0000" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0030:  *0000 *500b *0200 *0000
*0000 *1011 *1213 *1415" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0040:  *1617 *1819 *1a1b *1c1d
*1e1f *2021 *2223 *2425" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0050:  *2627 *2829 *2a2b *2c2d
*2e2f *3031 *3233 *3435" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0060:  *3637" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0000:  *36b1 *ee7c *0102 *36b1
*ee7c *0103 *0800 *4500" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0010:  *0054 *0344 *4000 *4001
*2161 *0a01 *0101 *0a01" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0020:  *0102 *0800 *efac *7ce4
*0003 *5b2c *1f61 *0000" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0030:  *0000 *500b *0200 *0000
*0000 *1011 *1213 *1415" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0040:  *1617 *1819 *1a1b *1c1d
*1e1f *2021 *2223 *2425" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0050:  *2627 *2829 *2a2b *2c2d
*2e2f *3031 *3233 *3435" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0060:  *3637" 2>&1 1>/dev/null])


  OVS_TRAFFIC_VSWITCHD_STOP
@@ -2071,13 +2071,13 @@  dnl p1(at_ns1) interface
  NS_CHECK_EXEC([at_ns0], [$PYTHON3 $srcdir/sendpkt.py p0 00 00 00 00 00
02 00 00 00 00 00 01 88 47 00 00 21 40 36 b1 ee 7c 01 02 36 b1 ee 7c 01
03 08 00 45 00 00 54 03 44 40 00 40 01 21 61 0a 01 01 01 0a 01 01 02 08
00 ef ac 7c e4 00 03 5b 2c 1f 61 00 00 00 00 50 0b 02 00 00 00 00 00 10
11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28
29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37  > /dev/null])

  dnl Check the expected decapsulated on the egress interface
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0000:  *36b1 *ee7c *0102 *36b1
*ee7c *0103 *0800 *4500" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0010:  *0054 *0344 *4000 *4001
*2161 *0a01 *0101 *0a01" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0020:  *0102 *0800 *efac *7ce4
*0003 *5b2c *1f61 *0000" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0030:  *0000 *500b *0200 *0000
*0000 *1011 *1213 *1415" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0040:  *1617 *1819 *1a1b *1c1d
*1e1f *2021 *2223 *2425" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0050:  *2627 *2829 *2a2b *2c2d
*2e2f *3031 *3233 *3435" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0060:  *3637" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0000:  *36b1 *ee7c *0102 *36b1
*ee7c *0103 *0800 *4500" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0010:  *0054 *0344 *4000 *4001
*2161 *0a01 *0101 *0a01" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0020:  *0102 *0800 *efac *7ce4
*0003 *5b2c *1f61 *0000" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0030:  *0000 *500b *0200 *0000
*0000 *1011 *1213 *1415" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0040:  *1617 *1819 *1a1b *1c1d
*1e1f *2021 *2223 *2425" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0050:  *2627 *2829 *2a2b *2c2d
*2e2f *3031 *3233 *3435" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0060:  *3637" 2>&1 1>/dev/null])


  OVS_TRAFFIC_VSWITCHD_STOP
@@ -5536,7 +5536,7 @@  AT_CHECK([ovs-appctl dpctl/dump-conntrack |
FORMAT_CT(10.1.1.2) | sed -e 's/dst=
  udp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=<cleared>,dport=<cleared>),reply=(src=10.1.1.2,dst=10.1.1.2XX,sport=<cleared>,dport=<cleared>),mark=1
  ])

-AT_CHECK([tcpdump -v "icmp" -r p0.pcap 2>/dev/null | egrep
'wrong|bad'], [1], [ignore-nolog])
+AT_CHECK([tcpdump -v "icmp" -r p0.pcap 2>/dev/null | grep -E
'wrong|bad'], [1], [ignore-nolog])

  OVS_TRAFFIC_VSWITCHD_STOP
  AT_CLEANUP
@@ -6286,7 +6286,7 @@  sleep 1
  dnl UDP packets from ns0->ns1 should solicit "destination unreachable"
response.
  NS_CHECK_EXEC([at_ns0], [bash -c "echo a | nc -6 $NC_EOF_OPT -u
fc00::2 1"])

-AT_CHECK([tcpdump -v "icmp6" -r p0.pcap 2>/dev/null | egrep
'wrong|bad'], [1], [ignore-nolog])
+AT_CHECK([tcpdump -v "icmp6" -r p0.pcap 2>/dev/null | grep -E
'wrong|bad'], [1], [ignore-nolog])

  AT_CHECK([ovs-appctl dpctl/dump-conntrack | FORMAT_CT(fc00::2)], [0], [dnl
  udp,orig=(src=fc00::1,dst=fc00::2,sport=<cleared>,dport=<cleared>),reply=(src=fc00::2,dst=fc00::240,sport=<cleared>,dport=<cleared>)
@@ -7285,12 +7285,12 @@  dnl p1(at_ns1) interface
  NS_CHECK_EXEC([at_ns0], [$PYTHON3 $srcdir/sendpkt.py p0 f2 00 00 00 00
02 f2 00 00 00 00 01 08 00 45 00 00 28 00 01 00 00 40 06 b0 13 c0 a8 00
0a 0a 00 00 0a 04 00 08 00 00 00 00 c8 00 00 00 00 50 02 20 00 b8 5e 00
00 > /dev/null])

  dnl Check the expected nsh encapsulated packet on the egress interface
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0000: *f2ff *0000 *0002 *f2ff
*0000 *0001 *894f *0fc6" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0010: *0103 *0012 *34ff *1122
*3344 *0000 *0000 *0000" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0020: *0000 *0000 *0000 *f200
*0000 *0002 *f200 *0000" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0030: *0001 *0800 *4500 *0028
*0001 *0000 *4006 *b013" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0040: *c0a8 *000a *0a00 *000a
*0400 *0800 *0000 *00c8" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0050: *0000 *0000 *5002 *2000
*b85e *0000" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0000: *f2ff *0000 *0002 *f2ff
*0000 *0001 *894f *0fc6" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0010: *0103 *0012 *34ff *1122
*3344 *0000 *0000 *0000" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0020: *0000 *0000 *0000 *f200
*0000 *0002 *f200 *0000" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0030: *0001 *0800 *4500 *0028
*0001 *0000 *4006 *b013" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0040: *c0a8 *000a *0a00 *000a
*0400 *0800 *0000 *00c8" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0050: *0000 *0000 *5002 *2000
*b85e *0000" 2>&1 1>/dev/null])

  OVS_TRAFFIC_VSWITCHD_STOP
  AT_CLEANUP
@@ -7317,10 +7317,10 @@  dnl p1(at_ns1) interface
  NS_CHECK_EXEC([at_ns0], [$PYTHON3 $srcdir/sendpkt.py p0 f2 ff 00 00 00
02 f2 ff 00 00 00 01 89 4f 02 06 01 03 00 00 64 03 01 02 03 04 05 06 07
08 09 0a 0b 0c 0d 0e 0f 10 f2 00 00 00 00 02 f2 00 00 00 00 01 08 00 45
00 00 28 00 01 00 00 40 06 b0 13 c0 a8 00 0a 0a 00 00 0a 04 00 08 00 00
00 00 c8 00 00 00 00 50 02 20 00 b8 5e 00 00 > /dev/null])

  dnl Check the expected de-capsulated TCP packet on the egress interface
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0000: *f200 *0000 *0002 *f200
*0000 *0001 *0800 *4500" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0010: *0028 *0001 *0000 *4006
*b013 *c0a8 *000a *0a00" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0020: *000a *0400 *0800 *0000
*00c8 *0000 *0000 *5002" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0030: *2000 *b85e *0000" 2>&1
1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0000: *f200 *0000 *0002 *f200
*0000 *0001 *0800 *4500" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0010: *0028 *0001 *0000 *4006
*b013 *c0a8 *000a *0a00" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0020: *000a *0400 *0800 *0000
*00c8 *0000 *0000 *5002" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0030: *2000 *b85e *0000" 2>&1
1>/dev/null])

  OVS_TRAFFIC_VSWITCHD_STOP
  AT_CLEANUP
@@ -7350,12 +7350,12 @@  dnl p1(at_ns1) interface
  NS_CHECK_EXEC([at_ns0], [$PYTHON3 $srcdir/sendpkt.py p0 f2 ff 00 00 00
02 f2 ff 00 00 00 01 89 4f 02 06 01 03 00 01 00 03 01 02 03 04 05 06 07
08 09 0a 0b 0c 0d 0e 0f 10 f2 00 00 00 00 02 f2 00 00 00 00 01 08 00 45
00 00 28 00 01 00 00 40 06 b0 13 c0 a8 00 0a 0a 00 00 0a 04 00 08 00 00
00 00 c8 00 00 00 00 50 02 20 00 b8 5e 00 00 > /dev/null])

  dnl Check the expected NSH packet with new fields in the header
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0000: *f2ff *0000 *0002 *f2ff
*0000* 0001 *894f *01c6" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0010: *0103 *0001 *0104 *100f
*0e0d *0c0b *0a09 *0807" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0020: *0605 *0403 *0201 *f200
*0000 *0002 *f200 *0000" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0030: *0001 *0800 *4500 *0028
*0001 *0000 *4006 *b013" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0040: *c0a8 *000a *0a00 *000a
*0400 *0800 *0000 *00c8" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0050: *0000 *0000 *5002 *2000
*b85e *0000" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0000: *f2ff *0000 *0002 *f2ff
*0000* 0001 *894f *01c6" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0010: *0103 *0001 *0104 *100f
*0e0d *0c0b *0a09 *0807" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0020: *0605 *0403 *0201 *f200
*0000 *0002 *f200 *0000" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0030: *0001 *0800 *4500 *0028
*0001 *0000 *4006 *b013" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0040: *c0a8 *000a *0a00 *000a
*0400 *0800 *0000 *00c8" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0050: *0000 *0000 *5002 *2000
*b85e *0000" 2>&1 1>/dev/null])

  OVS_TRAFFIC_VSWITCHD_STOP
  AT_CLEANUP
@@ -7384,23 +7384,23 @@  dnl First send packet from at_ns0 --> OVS with
SPI=0x100 and SI=2
  NS_CHECK_EXEC([at_ns0], [$PYTHON3 $srcdir/sendpkt.py p0 f2 ff 00 00 00
02 f2 ff 00 00 00 01 89 4f 02 06 01 03 00 01 00 02 01 02 03 04 05 06 07
08 09 0a 0b 0c 0d 0e 0f 10 f2 00 00 00 00 02 f2 00 00 00 00 01 08 00 45
00 00 28 00 01 00 00 40 06 b0 13 c0 a8 00 0a 0a 00 00 0a 04 00 08 00 00
00 00 c8 00 00 00 00 50 02 20 00 b8 5e 00 00 > /dev/null])

  dnl Check for the above packet on p1 interface
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0000: *f2ff *0000 *0002 *f2ff
*0000 *0001 *894f *0206" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0010: *0103 *0001 *0002 *0102
*0304 *0506 *0708 *090a" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0020: *0b0c *0d0e *0f10 *f200
*0000 *0002 *f200 *0000" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0030: *0001 *0800 *4500 *0028
*0001 *0000 *4006 *b013" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0040: *c0a8 *000a *0a00 *000a
*0400 *0800 *0000 *00c8" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p1.pcap | egrep "0x0050: *0000 *0000 *5002 *2000
*b85e *0000" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0000: *f2ff *0000 *0002 *f2ff
*0000 *0001 *894f *0206" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0010: *0103 *0001 *0002 *0102
*0304 *0506 *0708 *090a" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0020: *0b0c *0d0e *0f10 *f200
*0000 *0002 *f200 *0000" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0030: *0001 *0800 *4500 *0028
*0001 *0000 *4006 *b013" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0040: *c0a8 *000a *0a00 *000a
*0400 *0800 *0000 *00c8" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p1.pcap | grep -E "0x0050: *0000 *0000 *5002 *2000
*b85e *0000" 2>&1 1>/dev/null])

  dnl Send the second packet from at_ns1 --> OVS with SPI=0x100 and SI=1
  NS_CHECK_EXEC([at_ns1], [$PYTHON3 $srcdir/sendpkt.py p1 f2 ff 00 00 00
02 f2 ff 00 00 00 01 89 4f 01 c6 01 03 00 01 00 01 01 02 03 04 05 06 07
08 09 0a 0b 0c 0d 0e 0f 10 f2 00 00 00 00 02 f2 00 00 00 00 01 08 00 45
00 00 28 00 01 00 00 40 06 b0 13 c0 a8 00 0a 0a 00 00 0a 04 00 08 00 00
00 00 c8 00 00 00 00 50 02 20 00 b8 5e 00 00 > /dev/null])

  dnl Check for the above packet on p2 interface
-OVS_WAIT_UNTIL([cat p2.pcap | egrep "0x0000: *f2ff *0000 *0002 *f2ff
*0000 *0001 *894f *01c6" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p2.pcap | egrep "0x0010: *0103 *0001 *0001 *0102
*0304 *0506 *0708 *090a" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p2.pcap | egrep "0x0020: *0b0c *0d0e *0f10 *f200
*0000 *0002 *f200 *0000" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p2.pcap | egrep "0x0030: *0001 *0800 *4500 *0028
*0001 *0000 *4006 *b013" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p2.pcap | egrep "0x0040: *c0a8 *000a *0a00 *000a
*0400 *0800 *0000 *00c8" 2>&1 1>/dev/null])
-OVS_WAIT_UNTIL([cat p2.pcap | egrep "0x0050: *0000 *0000 *5002 *2000
*b85e *0000" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p2.pcap | grep -E "0x0000: *f2ff *0000 *0002 *f2ff
*0000 *0001 *894f *01c6" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p2.pcap | grep -E "0x0010: *0103 *0001 *0001 *0102
*0304 *0506 *0708 *090a" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p2.pcap | grep -E "0x0020: *0b0c *0d0e *0f10 *f200
*0000 *0002 *f200 *0000" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p2.pcap | grep -E "0x0030: *0001 *0800 *4500 *0028
*0001 *0000 *4006 *b013" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p2.pcap | grep -E "0x0040: *c0a8 *000a *0a00 *000a
*0400 *0800 *0000 *00c8" 2>&1 1>/dev/null])
+OVS_WAIT_UNTIL([cat p2.pcap | grep -E "0x0050: *0000 *0000 *5002 *2000
*b85e *0000" 2>&1 1>/dev/null])

  OVS_TRAFFIC_VSWITCHD_STOP
  AT_CLEANUP
diff --git a/tests/tunnel-push-pop.at b/tests/tunnel-push-pop.at
index bc82abc1f..92eebba2e 100644
--- a/tests/tunnel-push-pop.at
+++ b/tests/tunnel-push-pop.at
@@ -740,14 +740,14 @@  dnl Output to tunnel from a int-br internal port.
  dnl Checking that the packet arrived and it was correctly encapsulated.
  AT_CHECK([ovs-ofctl add-flow int-br
"in_port=LOCAL,actions=debug_slow,output:2"])
  AT_CHECK([ovs-appctl netdev-dummy/receive int-br "${packet}4"])
-OVS_WAIT_UNTIL([test `ovs-pcap p0.pcap | egrep "${encap}${packet}4" |
wc -l` -ge 1])
+OVS_WAIT_UNTIL([test `ovs-pcap p0.pcap | grep -E "${encap}${packet}4" |
wc -l` -ge 1])
  dnl Sending again to exercise the non-miss upcall path.
  AT_CHECK([ovs-appctl netdev-dummy/receive int-br "${packet}4"])
-OVS_WAIT_UNTIL([test `ovs-pcap p0.pcap | egrep "${encap}${packet}4" |
wc -l` -ge 2])
+OVS_WAIT_UNTIL([test `ovs-pcap p0.pcap | grep -E "${encap}${packet}4" |
wc -l` -ge 2])

  dnl Output to tunnel from the controller.