diff mbox

[ovs-dev,patch_v1,2/2] System Tests: Improve reliability of an icmp test.

Message ID CAPWQB7HWR3TVpxPSzb5a8p+g2wmxCoB5B7Tn5SGb8+AxEBy+jQ@mail.gmail.com
State Not Applicable
Headers show

Commit Message

Joe Stringer July 20, 2017, 6:17 p.m. UTC
On 16 July 2017 at 11:27, Darrell Ball <dlu998@gmail.com> wrote:
> One SNAT test is based on a single ping being successful;
> to make the result more predictable, static arp binding is now used.
> Occasionally, tracing shows the reply side stack does not respond,
> but this is much less common with this change.
> I considered changing the test design itself, but I thought that
> would not be testing the same situation.
>
> Signed-off-by: Darrell Ball <dlu998@gmail.com>
> ---

Thanks for improving the reliability of this test!

I plan to roll in the following incremental per Ilya's review and push
to master shortly:

AT_DATA([flows.txt], [dnl

Comments

Darrell Ball July 20, 2017, 8:09 p.m. UTC | #1
-----Original Message-----
From: <ovs-dev-bounces@openvswitch.org> on behalf of Joe Stringer <joe@ovn.org>

Date: Thursday, July 20, 2017 at 11:17 AM
To: Darrell Ball <dlu998@gmail.com>
Cc: ovs dev <dev@openvswitch.org>
Subject: Re: [ovs-dev] [patch_v1 2/2] System Tests: Improve reliability of an icmp test.

    On 16 July 2017 at 11:27, Darrell Ball <dlu998@gmail.com> wrote:
    > One SNAT test is based on a single ping being successful;

    > to make the result more predictable, static arp binding is now used.

    > Occasionally, tracing shows the reply side stack does not respond,

    > but this is much less common with this change.

    > I considered changing the test design itself, but I thought that

    > would not be testing the same situation.

    >

    > Signed-off-by: Darrell Ball <dlu998@gmail.com>

    > ---

    
    Thanks for improving the reliability of this test!
    
    I plan to roll in the following incremental per Ilya's review and push
    to master shortly:


I ended up rejecting Ilya’s suggestion to use a for loop, because my main
goal here is increased reliability. I updated V2 accordingly.

Thanks Darrell 


    
    diff --git a/tests/system-traffic.at b/tests/system-traffic.at
    index bc126bc4649d..418f1150e9b5 100644
    --- a/tests/system-traffic.at
    +++ b/tests/system-traffic.at
    @@ -2692,29 +2692,16 @@ OVS_TRAFFIC_VSWITCHD_START()
    
    ADD_NAMESPACES(at_ns0, at_ns1)
    
    -ADD_VETH(p0, at_ns0, br0, "10.1.1.1/24")
    -NS_CHECK_EXEC([at_ns0], [ip link set dev p0 address e6:66:c1:11:11:11])
    +ADD_VETH(p0, at_ns0, br0, "10.1.1.1/24", "e6:66:c1:11:11:11")
    NS_CHECK_EXEC([at_ns0], [arp -s 10.1.1.2 e6:66:c1:22:22:22])
    
    -ADD_VETH(p1, at_ns1, br0, "10.1.1.2/24")
    -NS_CHECK_EXEC([at_ns1], [ip link set dev p1 address e6:66:c1:22:22:22])
    +ADD_VETH(p1, at_ns1, br0, "10.1.1.2/24", "e6:66:c1:22:22:22")
    NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.1 e6:66:c1:11:11:11])
    -NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.240 e6:66:c1:11:11:11])
    -NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.241 e6:66:c1:11:11:11])
    -NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.242 e6:66:c1:11:11:11])
    -NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.243 e6:66:c1:11:11:11])
    -NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.244 e6:66:c1:11:11:11])
    -NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.245 e6:66:c1:11:11:11])
    -NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.246 e6:66:c1:11:11:11])
    -NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.247 e6:66:c1:11:11:11])
    -NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.248 e6:66:c1:11:11:11])
    -NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.249 e6:66:c1:11:11:11])
    -NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.250 e6:66:c1:11:11:11])
    -NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.251 e6:66:c1:11:11:11])
    -NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.252 e6:66:c1:11:11:11])
    -NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.253 e6:66:c1:11:11:11])
    -NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.254 e6:66:c1:11:11:11])
    -NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.255 e6:66:c1:11:11:11])
    +dnl Set up static arp entries so we don't have to wait for the namespace to
    +dnl perform ARP before sending our ping below.
    +for i in 1 `seq 240 255`; do
    +    NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.$i e6:66:c1:11:11:11])
    +done
    
    dnl Allow any traffic from ns0->ns1. Only allow nd, return traffic
    from ns1->ns0.
    AT_DATA([flows.txt], [dnl
    _______________________________________________
    dev mailing list
    dev@openvswitch.org
    https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.openvswitch.org_mailman_listinfo_ovs-2Ddev&d=DwICAg&c=uilaK90D4TOVoH58JNXRgQ&r=BVhFA09CGX7JQ5Ih-uZnsw&m=BxXFlDZLby8jj4FFS7E2fLzuWE5X-CqTV-jO3FCnFUE&s=cv2DeUQAoS_f-EDOkhL1_WE-hd0NKP5D1vora3zB0Dg&e=
diff mbox

Patch

diff --git a/tests/system-traffic.at b/tests/system-traffic.at
index bc126bc4649d..418f1150e9b5 100644
--- a/tests/system-traffic.at
+++ b/tests/system-traffic.at
@@ -2692,29 +2692,16 @@  OVS_TRAFFIC_VSWITCHD_START()

ADD_NAMESPACES(at_ns0, at_ns1)

-ADD_VETH(p0, at_ns0, br0, "10.1.1.1/24")
-NS_CHECK_EXEC([at_ns0], [ip link set dev p0 address e6:66:c1:11:11:11])
+ADD_VETH(p0, at_ns0, br0, "10.1.1.1/24", "e6:66:c1:11:11:11")
NS_CHECK_EXEC([at_ns0], [arp -s 10.1.1.2 e6:66:c1:22:22:22])

-ADD_VETH(p1, at_ns1, br0, "10.1.1.2/24")
-NS_CHECK_EXEC([at_ns1], [ip link set dev p1 address e6:66:c1:22:22:22])
+ADD_VETH(p1, at_ns1, br0, "10.1.1.2/24", "e6:66:c1:22:22:22")
NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.1 e6:66:c1:11:11:11])
-NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.240 e6:66:c1:11:11:11])
-NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.241 e6:66:c1:11:11:11])
-NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.242 e6:66:c1:11:11:11])
-NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.243 e6:66:c1:11:11:11])
-NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.244 e6:66:c1:11:11:11])
-NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.245 e6:66:c1:11:11:11])
-NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.246 e6:66:c1:11:11:11])
-NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.247 e6:66:c1:11:11:11])
-NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.248 e6:66:c1:11:11:11])
-NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.249 e6:66:c1:11:11:11])
-NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.250 e6:66:c1:11:11:11])
-NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.251 e6:66:c1:11:11:11])
-NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.252 e6:66:c1:11:11:11])
-NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.253 e6:66:c1:11:11:11])
-NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.254 e6:66:c1:11:11:11])
-NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.255 e6:66:c1:11:11:11])
+dnl Set up static arp entries so we don't have to wait for the namespace to
+dnl perform ARP before sending our ping below.
+for i in 1 `seq 240 255`; do
+    NS_CHECK_EXEC([at_ns1], [arp -s 10.1.1.$i e6:66:c1:11:11:11])
+done

dnl Allow any traffic from ns0->ns1. Only allow nd, return traffic
from ns1->ns0.