selftests: forwarding: Have lldpad_app_wait_set() wait for unknown, too
authorPetr Machata <petrm@mellanox.com>
Mon, 8 Oct 2018 18:50:41 +0000 (18:50 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 24 Nov 2019 07:21:02 +0000 (08:21 +0100)
[ Upstream commit 372809055f6c830ff978564e09f58bcb9e9b937c ]

Immediately after mlxsw module is probed and lldpad started, added APP
entries are briefly in "unknown" state before becoming "pending". That's
the state that lldpad_app_wait_set() typically sees, and since there are
no pending entries at that time, it bails out. However the entries have
not been pushed to the kernel yet at that point, and thus the test case
fails.

Fix by waiting for both unknown and pending entries to disappear before
proceeding.

Fixes: d159261f3662 ("selftests: mlxsw: Add test for trust-DSCP")
Signed-off-by: Petr Machata <petrm@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/testing/selftests/net/forwarding/lib.sh

index ca53b53..08bac6c 100644 (file)
@@ -251,7 +251,7 @@ lldpad_app_wait_set()
 {
        local dev=$1; shift
 
-       while lldptool -t -i $dev -V APP -c app | grep -q pending; do
+       while lldptool -t -i $dev -V APP -c app | grep -Eq "pending|unknown"; do
                echo "$dev: waiting for lldpad to push pending APP updates"
                sleep 5
        done