From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 412AF3A1E86 for ; Sun, 28 Dec 2025 12:14:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766924062; cv=none; b=dKEvbk+IrvSce24SI4wjeKB7uQEz+4f+wgqRMAfvbjGA/3SM+FtHOGw91cLFPuj5YVPDMeTQsQ10f6tKuFl8FMkZHXw/EAlRg+VJ/+YsznYnET90WC3UQ94H1dayLR8m3I5bDNi9Z6zOXxi+rIJeEkYfUODXRMW8HoatcydkXPE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766924062; c=relaxed/simple; bh=FtVcvjSqO79VVhAexiQ8Tk6eQRe2bnLHlHrLLXC2qLQ=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=GZNBmt1zdgPZxFdgSnb9AjvQnlfU/sErqW1zNxBk/Y1g5gMbZqGHsNGaCzwzYMB/DlPHZIkR/Io1eyKOc+f34Ols6AkRuyR2CYJwyKFj8vj+oFVmcfN+G+D3y9OfcaQ+Sg7mL4cTL/TIJq2wEaJEpIovptlP8zJZRrUdCUsrYGw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=hzoCRj/r; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b=ojd+fYAW; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="hzoCRj/r"; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b="ojd+fYAW" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1766924056; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Hb94p/3fW6d+zrjNPqtXlJMQflYVyrGPy+23bPGAbt4=; b=hzoCRj/rEHdP1j3tQ6QZmP2jtwYElUKuqJcu6aSUWf0pLJ5NTqqiHwIKuPTwT5kzvqamXI QnJWV/MbZAAjwn99fIXAW28KGdnU4WCyO/mRZ4DEHR+6nLywnbcevJfoFXelj1oqvtDLMB ewvOjeNohfb3QwIpVH885f2/t6n5E10= Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-528-X4ayPNG0NhW1sD3BATBJ-g-1; Sun, 28 Dec 2025 07:14:13 -0500 X-MC-Unique: X4ayPNG0NhW1sD3BATBJ-g-1 X-Mimecast-MFC-AGG-ID: X4ayPNG0NhW1sD3BATBJ-g_1766924052 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-430f8866932so6757218f8f.1 for ; Sun, 28 Dec 2025 04:14:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1766924052; x=1767528852; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=Hb94p/3fW6d+zrjNPqtXlJMQflYVyrGPy+23bPGAbt4=; b=ojd+fYAWW18I3d/0CJqUhGSxyzzvsReXbb7acrRNDj24AO18YJ1dIa/8akDyNkwc+9 neaRI2S1oYkvDXygWJ2Kpjp2NfPlea8UczGg/ZDhhGN26w4x0HQQpVHO7Ip71NqfrBLF fCaSG6lVak9PGwnb6wfGV1MwismkuhjpIp3Kv5OY7y/GybW0X0ZupAku02tJwdLeJGMQ Efqb0aumCgoXOrtLRNMH07R/WAj4Wobl/IDyL3l2dikGKSr5cNfQKzXwlO+/I6PXkxkT C04y/7svEuimzDg+ODpyym5bHMx2pqK06dXoHjQjCFYXCLBIMkS3N3xdERbgx7HTnJoi KRIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766924052; x=1767528852; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Hb94p/3fW6d+zrjNPqtXlJMQflYVyrGPy+23bPGAbt4=; b=DoJkbGnDP80JZJiQjE1KGYFjCL5iDJ7cL8XQCvbjQkyU5qWmtzD33uSMHaFQq1BV+3 L1/rl3nu3nln3Qi4/P4mz9lqE1EQMndxVC3K/mZ+mMr/ACN2i+L1NGbCFFJdLsoi8hME c+JA1VvWvsRS9mRX6wfyHieKwycWL1b1m3DmyKjlRTlvtz8lSPjlvF4qTA2loOFqJSaA xA0YtTgwNNIOp9m4/ljJacXq/Z99bm/j/SH2IKitVV6ijzb1swPZUKxweGtjUYZYu0Bh 1whHUWVEzBO4DGJLyYpmP0yYxaH49z+uLzJ+ItEBIJpqOLG2D+FypAklxDUJA4ZDz8dj 97lw== X-Forwarded-Encrypted: i=1; AJvYcCUBoIKmDWm/cizA+viozmJZOnFuYaoWPV8eqdqQYioOJbMslz+k4BQGT+TyB1TSNsSIx9YCzVOPn5deXM0=@vger.kernel.org X-Gm-Message-State: AOJu0YwlYcLz5GF98gOQtHPYxT2GOV28zhWkC0HB+o9HSgAo8AEl876O rRDUk6lRbk3ArPzKC3R6tjoHtYL3LAfWMLSKiqBwXq/RzNoF12ovuhcdoZWBy0+wQgJ8zCTpRz3 GpKf7Q8Xl9oBoPhVhs9a305KSEG8HFnvxk87wXcvXEMGXFjcd+Yhqd3py1DwqaBkhvA== X-Gm-Gg: AY/fxX5O4ujhOJ4wIZpuDLYue+pe6dwb6gV6VvlBurUIFp80HJ/sqJy9BLyMGIRIDMh haMvLIYcVgD7lumqNc1mW4buoMOC9dqaKHf/TofbNZCoqYh379aozl5hW6rg5ck3liUmyuJOlam 5db2wsjO7jU/hdWDvd+6i2CB1f27EgVV6p05ErnxZ/rlJYdOPdgoJO/GpkePCXot28b6SA8neIz eksBNXuTUiNAvQzSVoBXgurHQMLBu6hDMo099bqx0hH+/3YQWIFN3VfkLaN2dYwOyHEQpta8qfN 3IbvC0g+WJNJ4V3oXF5YJZYbzpAcURLOvGDDO+w3OX1XwnZn569VezyOOf+ZWTHgFVXc4ppr1Ra +raj8Gq8s8xLjhQ== X-Received: by 2002:a05:6000:40ce:b0:42f:bad7:af76 with SMTP id ffacd0b85a97d-4324e4cc00amr39273452f8f.15.1766924051783; Sun, 28 Dec 2025 04:14:11 -0800 (PST) X-Google-Smtp-Source: AGHT+IE9s6P8gOpSpbWlos80FLDLxQgg0IlYWd5InaHc47tKRrvQ/Asn43slk7o17Wv+jnvFEa+z9Q== X-Received: by 2002:a05:6000:40ce:b0:42f:bad7:af76 with SMTP id ffacd0b85a97d-4324e4cc00amr39273422f8f.15.1766924051343; Sun, 28 Dec 2025 04:14:11 -0800 (PST) Received: from [192.168.88.32] ([169.155.232.231]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4324eaa4749sm57106837f8f.37.2025.12.28.04.14.09 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 28 Dec 2025 04:14:10 -0800 (PST) Message-ID: <16fa929d-db04-48f5-a350-a31d23f8327c@redhat.com> Date: Sun, 28 Dec 2025 13:14:09 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH net 2/2] selftests: net: simple selftest for ipvtap To: Dmitry Skorodumov , netdev@vger.kernel.org, Simon Horman , linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org Cc: Dmitry Skorodumov , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Shuah Khan References: <20251225185543.1459044-1-skorodumov.dmitry@huawei.com> <20251225185543.1459044-3-skorodumov.dmitry@huawei.com> Content-Language: en-US From: Paolo Abeni In-Reply-To: <20251225185543.1459044-3-skorodumov.dmitry@huawei.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 12/25/25 7:55 PM, Dmitry Skorodumov wrote: > diff --git a/tools/testing/selftests/net/ipvtap_test.sh b/tools/testing/selftests/net/ipvtap_test.sh > new file mode 100755 > index 000000000000..751793f26fed > --- /dev/null > +++ b/tools/testing/selftests/net/ipvtap_test.sh > @@ -0,0 +1,168 @@ > +#!/bin/bash > +# SPDX-License-Identifier: GPL-2.0 > +# > +# Simple tests for ipvtap > + > + > +# > +# The testing environment looks this way: > +# > +# |------HOST------| |------PHY-------| > +# | veth<----------------->veth | > +# |------|--|------| |----------------| > +# | | > +# | | |-----TST0-------| > +# | |------------|----ipvlan | > +# | |----------------| > +# | > +# | |-----TST1-------| > +# |---------------|----ipvlan | > +# |----------------| > +# > + > +ALL_TESTS=" > + test_ip_set > +" > + > +source lib.sh > + > +DEBUG=0 > + > +VETH_HOST=vethtst.h > +VETH_PHY=vethtst.p > + > +NS_COUNT=32 > +IP_ITERATIONS=1024 > + > +ns_run() { > + ns=$1 > + shift > + if [[ "$ns" == "global" ]]; then > + "$@" >/dev/null > + else > + ip netns exec "$ns" "$@" >/dev/null > + fi > +} > + > +test_ip_setup_env() { > + modprobe -q tap > + modprobe -q ipvlan > + modprobe -q ipvtap > + > + setup_ns NS_PHY > + > + # setup simulated other-host (phy) and host itself > + ip link add $VETH_HOST type veth peer name $VETH_PHY \ > + netns "$NS_PHY" >/dev/null It would be better to avoid creating devices in the main netns. > + ip link set $VETH_HOST up > + ns_run "$NS_PHY" ip link set $VETH_PHY up > + > + for ((i=0; i + setup_ns ipvlan_ns_$i > + ns="ipvlan_ns_$i" > + if [ "$DEBUG" = "1" ]; then > + echo "created NS ${!ns}" > + fi > + if ! ip link add netns ${!ns} ipvlan0 link $VETH_HOST \ > + type ipvtap mode l2 bridge; then > + exit_error "FAIL: Failed to configure ipvlan link." > + fi > + done > +} > + > +test_ip_cleanup_env() { > + ip link del $VETH_HOST > + cleanup_all_ns > +} > + > +exit_error() { > + echo "$1" > + exit $ksft_fail > +} > + > +rnd() { > + echo $(( RANDOM % 32 + 16 )) > +} > + > +test_ip_set_thread() { > + ip link set ipvlan0 up > + for ((i=0; i + v=$(rnd) > + ip a a "172.25.0.$v/24" dev ipvlan0 2>/dev/null > + ip a a "fc00::$v/64" dev ipvlan0 2>/dev/null > + v=$(rnd) > + ip a d "172.25.0.$v/24" dev ipvlan0 2>/dev/null > + ip a d "fc00::$v/64" dev ipvlan0 2>/dev/null It's unclear to me why the above tries to remove random addresses different from the ones just added (possibly not existing) > + done > +} > + > +test_ip_set() { > + RET=0 > + > + modprobe -q tap > + modprobe -q ipvlan > + modprobe -q ipvtap > + > + trap test_ip_cleanup_env EXIT > + > + test_ip_setup_env > + > + declare -A ns_pids > + for ((i=0; i + ns="ipvlan_ns_$i" > + ns_run ${!ns} bash -c "$0 test_ip_set_thread"& > + ns_pids[$i]=$! > + done > + > + for ((i=0; i + wait "${ns_pids[$i]}" > + done This tests fails quite often in debug build due to timeout, see: https://netdev.bots.linux.dev/flakes.html?tn-needle=ipvtap and i.e. https://netdev-ctrl.bots.linux.dev/logs/vmksft/net-dbg/results/447821/5-ipvtap-test-sh/ You should likely decrease the thread and/or iterations count, at least for debug builds /P