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)
committerDavid S. Miller <davem@davemloft.net>
Thu, 11 Oct 2018 05:22:07 +0000 (22:22 -0700)
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>
tools/testing/selftests/net/forwarding/lib.sh

index 0e73698b20489023cffbd312fc3e352feea5e2f2..85d253546684956ad2c07f706909f2b3555537bd 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