lkml.org 
[lkml]   [2021]   [Oct]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 04/11] selftests: net/fcnal: Use accept_dad=0 to avoid setup sleep
    Date
    Duplicate Address Detection makes ipv6 addresses unavailable for a short
    period after adding (average about 1 second). Adding sleep statements
    avoid this but since all addresses in the test environment are
    controlled from the same source we can just disable DAD for the entire
    namespace.

    Unlike sprinkling nodad to all ipv6 address additions this also skips
    DAD for link-local-addresses.

    Signed-off-by: Leonard Crestez <cdleonard@gmail.com>
    ---
    tools/testing/selftests/net/fcnal-test.sh | 17 +++++++----------
    1 file changed, 7 insertions(+), 10 deletions(-)

    diff --git a/tools/testing/selftests/net/fcnal-test.sh b/tools/testing/selftests/net/fcnal-test.sh
    index 9cf05e6e0d9b..0bd60cd3bc06 100755
    --- a/tools/testing/selftests/net/fcnal-test.sh
    +++ b/tools/testing/selftests/net/fcnal-test.sh
    @@ -357,11 +357,11 @@ create_vrf()
    ip -netns ${ns} link set ${vrf} up
    ip -netns ${ns} route add vrf ${vrf} unreachable default metric 8192
    ip -netns ${ns} -6 route add vrf ${vrf} unreachable default metric 8192

    ip -netns ${ns} addr add 127.0.0.1/8 dev ${vrf}
    - ip -netns ${ns} -6 addr add ::1 dev ${vrf} nodad
    + ip -netns ${ns} -6 addr add ::1 dev ${vrf}
    if [ "${addr}" != "-" ]; then
    ip -netns ${ns} addr add dev ${vrf} ${addr}
    fi
    if [ "${addr6}" != "-" ]; then
    ip -netns ${ns} -6 addr add dev ${vrf} ${addr6}
    @@ -378,10 +378,11 @@ create_ns()
    local ns=$1
    local addr=$2
    local addr6=$3

    ip netns add ${ns}
    + ip netns exec ${ns} sysctl -wq net.ipv6.conf.{all,default}.accept_dad=0

    ip -netns ${ns} link set lo up
    if [ "${addr}" != "-" ]; then
    ip -netns ${ns} addr add dev lo ${addr}
    fi
    @@ -490,12 +491,10 @@ setup()
    # tell ns-B how to get to remote addresses of ns-A
    ip -netns ${NSB} ro add ${NSA_LO_IP}/32 via ${NSA_IP} dev ${NSB_DEV}
    ip -netns ${NSB} ro add ${NSA_LO_IP6}/128 via ${NSA_IP6} dev ${NSB_DEV}

    set +e
    -
    - sleep 1
    }

    setup_lla_only()
    {
    # make sure we are starting with a clean slate
    @@ -520,12 +519,10 @@ setup_lla_only()
    create_vrf ${NSA} ${VRF} ${VRF_TABLE} "-" "-"
    ip -netns ${NSA} link set dev ${NSA_DEV} vrf ${VRF}
    ip -netns ${NSA} link set dev ${NSA_DEV2} vrf ${VRF}

    set +e
    -
    - sleep 1
    }

    ################################################################################
    # IPv4

    @@ -3014,11 +3011,11 @@ ipv6_udp_novrf()
    sleep 1
    run_cmd_nsb nettest -6 -D -r ${NSA_IP6}
    log_test $? 0 "UDP in - LLA to GUA"

    run_cmd_nsb ip -6 ro del ${NSA_IP6}/128 dev ${NSB_DEV}
    - run_cmd_nsb ip -6 addr add ${NSB_IP6}/64 dev ${NSB_DEV} nodad
    + run_cmd_nsb ip -6 addr add ${NSB_IP6}/64 dev ${NSB_DEV}
    }

    ipv6_udp_vrf()
    {
    local a
    @@ -3292,11 +3289,11 @@ ipv6_udp_vrf()
    sleep 1
    run_cmd_nsb nettest -6 -D -r ${NSA_IP6}
    log_test $? 0 "UDP in - LLA to GUA"

    run_cmd_nsb ip -6 ro del ${NSA_IP6}/128 dev ${NSB_DEV}
    - run_cmd_nsb ip -6 addr add ${NSB_IP6}/64 dev ${NSB_DEV} nodad
    + run_cmd_nsb ip -6 addr add ${NSB_IP6}/64 dev ${NSB_DEV}
    }

    ipv6_udp()
    {
    # should not matter, but set to known state
    @@ -3742,11 +3739,11 @@ use_case_br()
    setup_cmd ip addr del dev ${NSA_DEV} ${NSA_IP}/24
    setup_cmd ip -6 addr del dev ${NSA_DEV} ${NSA_IP6}/64

    setup_cmd ip link add br0 type bridge
    setup_cmd ip addr add dev br0 ${NSA_IP}/24
    - setup_cmd ip -6 addr add dev br0 ${NSA_IP6}/64 nodad
    + setup_cmd ip -6 addr add dev br0 ${NSA_IP6}/64

    setup_cmd ip li set ${NSA_DEV} master br0
    setup_cmd ip li set ${NSA_DEV} up
    setup_cmd ip li set br0 up
    setup_cmd ip li set br0 vrf ${VRF}
    @@ -3791,15 +3788,15 @@ use_case_br()

    setup_cmd ip li set br0 nomaster
    setup_cmd ip li add br0.100 link br0 type vlan id 100
    setup_cmd ip li set br0.100 vrf ${VRF} up
    setup_cmd ip addr add dev br0.100 172.16.101.1/24
    - setup_cmd ip -6 addr add dev br0.100 2001:db8:101::1/64 nodad
    + setup_cmd ip -6 addr add dev br0.100 2001:db8:101::1/64

    setup_cmd_nsb ip li add vlan100 link ${NSB_DEV} type vlan id 100
    setup_cmd_nsb ip addr add dev vlan100 172.16.101.2/24
    - setup_cmd_nsb ip -6 addr add dev vlan100 2001:db8:101::2/64 nodad
    + setup_cmd_nsb ip -6 addr add dev vlan100 2001:db8:101::2/64
    setup_cmd_nsb ip li set vlan100 up
    sleep 1

    rmmod br_netfilter 2>/dev/null

    --
    2.25.1
    \
     
     \ /
      Last update: 2021-10-06 13:48    [W:4.206 / U:0.056 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site