Signed-off-by: Alexey Kodanev <alexey.koda...@oracle.com> --- testcases/network/vxlan/vxlan03.sh | 6 ++-- testcases/network/vxlan/vxlan_lib.sh | 66 +++++++++++++++++++-------------- 2 files changed, 41 insertions(+), 31 deletions(-)
diff --git a/testcases/network/vxlan/vxlan03.sh b/testcases/network/vxlan/vxlan03.sh index 7ce496e..26f27b5 100755 --- a/testcases/network/vxlan/vxlan03.sh +++ b/testcases/network/vxlan/vxlan03.sh @@ -18,9 +18,9 @@ # # Author: Alexey Kodanev <alexey.koda...@oracle.com> # -# Test-case 1: Requires remote host, test will setup virtual sub-net -# 192.168.124.*/24 between two hosts, then will compare -# TCP performance with and without VXLAN (tcp_fastopen test). +# Test-case 1: It requires remote host. Test will setup IPv4 and IPv6 virtual +# sub-nets between two hosts, then will compare TCP performance +# with and without VxLAN using ping or tcp_fastopen test. # # Test-case 2: The same as above but must fail, because VXLAN allows # to communicate only within the same VXLAN segment. diff --git a/testcases/network/vxlan/vxlan_lib.sh b/testcases/network/vxlan/vxlan_lib.sh index 6d0a2d0..bef5b14 100644 --- a/testcases/network/vxlan/vxlan_lib.sh +++ b/testcases/network/vxlan/vxlan_lib.sh @@ -32,10 +32,12 @@ user_name="root" ip_local=${IPV4_NETWORK}.${LHOST_IPV4_HOST} ip_vxlan_local="192.168.124.1" +ip6_vxlan_local="fe80::381c:c0ff:fea8:7c01" mac_vxlan_local="3A:1C:C0:A8:7C:01" ip_remote=${IPV4_NETWORK}.${RHOST_IPV4_HOST} ip_vxlan_remote="192.168.124.2" +ip6_vxlan_remote="fe80::381c:c0ff:fea8:7c02" mac_vxlan_remote="3A:1C:C0:A8:7C:02" vxlan_max=5000 @@ -112,22 +114,27 @@ vxlan_setup_subnet() tst_resm TINFO "virtual bridge & VXLAN, connect 2 hosts" local opt="rsc proxy nolearning" - safe_run "ip link add ltp_vxl0 type vxlan id $1 $opt" - safe_run "ip link set ltp_vxl0 address $mac_vxlan_local" - safe_run "ip address add ${ip_vxlan_local}/24 dev ltp_vxl0" - safe_run "ip link set up ltp_vxl0" + safe_run "ip li add ltp_vxl0 type vxlan id $1 $opt" + safe_run "ip li set ltp_vxl0 address $mac_vxlan_local" + safe_run "ip addr add ${ip_vxlan_local}/24 dev ltp_vxl0" + safe_run "ip li set up ltp_vxl0" - safe_run "arp -s $ip_vxlan_remote $mac_vxlan_remote -i ltp_vxl0" + safe_run "ip neigh add $ip_vxlan_remote \ + lladdr $mac_vxlan_remote dev ltp_vxl0" + safe_run "ip neigh add $ip6_vxlan_remote \ + lladdr $mac_vxlan_remote dev ltp_vxl0" safe_run "bridge fdb add to $mac_vxlan_remote dst $ip_remote \ dev ltp_vxl0" - tst_rhost_run -s -c "ip link add ltp_vxl0 type vxlan id $2 $opt" - tst_rhost_run -s -c "ip link set ltp_vxl0 address $mac_vxlan_remote" - tst_rhost_run -s -c "ip address add ${ip_vxlan_remote}/24 dev ltp_vxl0" - tst_rhost_run -s -c "ip link set up ltp_vxl0" + tst_rhost_run -s -c "ip li add ltp_vxl0 type vxlan id $2 $opt" + tst_rhost_run -s -c "ip li set ltp_vxl0 address $mac_vxlan_remote" + tst_rhost_run -s -c "ip addr add ${ip_vxlan_remote}/24 dev ltp_vxl0" + tst_rhost_run -s -c "ip li set up ltp_vxl0" - tst_rhost_run -s -c "arp -s $ip_vxlan_local $mac_vxlan_local \ - -i ltp_vxl0" + tst_rhost_run -s -c "ip neigh add $ip_vxlan_local \ + lladdr $mac_vxlan_local dev ltp_vxl0" + tst_rhost_run -s -c "ip neigh add $ip6_vxlan_local \ + lladdr $mac_vxlan_local dev ltp_vxl0" tst_rhost_run -s -c "bridge fdb add to $mac_vxlan_local dst $ip_local \ dev ltp_vxl0" } @@ -140,18 +147,21 @@ netload_test() case "$net_load" in PING) - tst_resm TINFO "run ping test with rhost '$ip_addr'..." + local ipv6= + echo "$ip_addr" | grep ":" > /dev/null + [ $? -eq 0 ] && ipv6=6 + tst_resm TINFO "run ping${ipv6} test with rhost '$ip_addr'..." local res= - res=$(ping -f -c $client_requests $ip_addr -w 600 2>&1) + res=$(ping${ipv6} -f -c $client_requests $ip_addr -w 600 2>&1) [ $? -ne 0 ] && return 1 echo $res | sed -nE 's/.*time ([0-9]+)ms.*/\1/p' > $rfile ;; TFO) - tst_resm TINFO "run tcp_fastopen test with rhost '$ip_addr'" local port= - port=$(tst_rhost_run -c 'tst_get_unused_port ipv4 stream') + port=$(tst_rhost_run -c 'tst_get_unused_port ipv6 stream') [ $? -ne 0 ] && tst_brkm TBROK "failed to get unused port" + tst_resm TINFO "run tcp_fastopen with '$ip_addr', port '$port'" tst_rhost_run -s -b -c "tcp_fastopen -R $max_requests -g $port" sleep 5 @@ -175,28 +185,28 @@ netload_test() vxlan_compare_netperf() { local ret=0 - local res_file="${TMPDIR}/vxlan_result" - - netload_test $ip_vxlan_remote $res_file || ret=1 + netload_test $ip_vxlan_remote res_ipv4 || ret=1 + netload_test ${ip6_vxlan_remote}%ltp_vxl0 res_ipv6 || ret=1 safe_run "ip link delete ltp_vxl0" tst_rhost_run -s -c "ip link delete ltp_vxl0" [ "$ret" -eq 1 ] && return 1 - local vt="$(cat $res_file)" + local vt="$(cat res_ipv4)" + local vt6="$(cat res_ipv6)" - netload_test $ip_remote $res_file || return 1 + netload_test $ip_remote res_ipv4 || return 1 - local lt="$(cat $res_file)" - tst_resm TINFO "time lan($lt) vxlan($vt) ms" + local lt="$(cat res_ipv4)" + tst_resm TINFO "time lan($lt) vxlan IPv4($vt) and IPv6($vt6) ms" per=$(( $vt * 100 / $lt - 100 )) + per6=$(( $vt6 * 100 / $lt - 100 )) - if [ "$per" -lt "$vxlan_threshold" ]; then - tst_resm TINFO "vxlan slower by $per %" - else - tst_resm TINFO "vxlan too slow: by $per %" - ret=1 - fi + tst_resm TINFO "IPv4 VxLAN over IPv4 slower by $per %" + tst_resm TINFO "IPv6 VxLAN over IPv4 slower by $per6 %" + + [ "$per" -ge "$vxlan_threshold" -o "$per6" -ge "$vxlan_threshold" ] \ + && ret=1 return $ret } -- 1.7.1 ------------------------------------------------------------------------------ _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list