Skip to content

Commit

Permalink
system-userspace-packet-type-aware.at: Wait for ip address updates.
Browse files Browse the repository at this point in the history
ovs-router module checks for the source ip address of the interface
while adding a new route.  netdev module doesn't request ip addresses
from the system every time, but instead it caches currently assigned
ip addresses and updates the cache on netlink notifications if needed.

So, there is a slight delay between setting ip address on interface
in a system and a moment OVS updates list of ip addresses of this
interface.  If route addition happens within this time frame, it
fails with the following error:

    # ovs-appctl ovs/route/add 10.0.0.0/24 br-p1
    Error while inserting route.
    ovs-appctl: ovs-vswitchd: server returned an error

This makes system tests to fail frequently.

Let's wait until local route successfully added.  This will mean
that OVS finished processing of a netlink event and will use up to
date list of ip addresses on desired interface.

Fixes: 526cf4e ("tests: Added unit tests in packet-type-aware.at")
Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
Acked-by: Aaron Conole <aconole@redhat.com>
Acked-by: Flavio Leitner <fbl@sysclose.org>
  • Loading branch information
igsilya committed Oct 8, 2020
1 parent 1700fbf commit 4812200
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions tests/system-userspace-packet-type-aware.at
Expand Up @@ -129,6 +129,7 @@ AT_CHECK([
ip addr add 10.0.0.1/24 dev br-p1
ip link set br-p1 up
], [0], [stdout])
OVS_WAIT_UNTIL([ovs-appctl ovs/route/show | grep -q br-p1])

AT_CHECK([
ovs-appctl ovs/route/add 10.0.0.0/24 br-p1
Expand All @@ -141,6 +142,7 @@ AT_CHECK([
ip addr add 20.0.0.2/24 dev br-p2
ip link set br-p2 up
], [0], [stdout])
OVS_WAIT_UNTIL([ovs-appctl ovs/route/show | grep -q br-p2])

AT_CHECK([
ovs-appctl ovs/route/add 20.0.0.0/24 br-p2
Expand All @@ -153,6 +155,7 @@ AT_CHECK([
ip addr add 30.0.0.3/24 dev br-p3
ip link set br-p3 up
], [0], [stdout])
OVS_WAIT_UNTIL([ovs-appctl ovs/route/show | grep -q br-p3])

AT_CHECK([
ovs-appctl ovs/route/add 30.0.0.0/24 br-p3
Expand Down

0 comments on commit 4812200

Please sign in to comment.