From nobody Mon Dec 1 22:03:58 2025 Received: from mail-ed1-f48.google.com (mail-ed1-f48.google.com [209.85.208.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A3584305971 for ; Mon, 1 Dec 2025 10:28:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764584936; cv=none; b=MTC4dE1KfZIqRhHxaUjzDbL9r+lOvx0MrLEAI6VMo9B4D0telCucIpVY6KCo1+85dA696d0jlYbChV1Z/WKSErcwxZvru1XZJVhmuiVY0glyEsg4R5glY8wX2B8oGtx8rKlneEEdYcAWWyJ4Oh6PZA02ESV5g078auAxLdgL7zU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764584936; c=relaxed/simple; bh=p8nrLd8JgHXvBOx3nRAE8e12DQJPDzMeaIvncxSjwDI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rylEw4QpbsL1EKPnwgvdqdQTh9pNwLjjw89WqN2b8OUbsO5+FnFSXSWzD/ceHbxQDHw1qDgsGUdpRY1aTKo+a5Gn59zv6PqczlfiQRXYLH4dFF2LFI31/1sU3xQYAkXwOGTRGbaIBaQJyy36wE0e0lhEQSOy8mHNwCd6JqEc3H8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=VFjvC3xT; arc=none smtp.client-ip=209.85.208.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="VFjvC3xT" Received: by mail-ed1-f48.google.com with SMTP id 4fb4d7f45d1cf-640bd9039fbso307612a12.2 for ; Mon, 01 Dec 2025 02:28:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1764584933; x=1765189733; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ygDjwJpJeLSApr9Yk+KRSHapU8CeVBWTNC852WoTWfU=; b=VFjvC3xTsWBsSA3KGtfWnloKFemE07SRzAyOjU8np52KCeAkkWa2PbqaiSJz1BrrEH +VO9EmVORcXr+VPb1jKlX4yIJH29fNyb54aTvDXf+SWN5KYZGaGPfkQVqEUu9WhBfkrX chHDBgx1MWjYQ6tqjZIhMuME6/y0YKM4Zkbl+XP9liali0AuStphCEVSSynfItZ9H0aV qTSSm6HGMzn1KYhN1CYGsuENe8gNI9qrG1TBYMPaVkmp/A0LFQ2uQUNS7UPi6WUFV6Q9 cnqEKaVkvhyPyLznv1NypGT3LoP6EGzK86oqxpQNLFjK4B1yaRtsXyTr0dVj48rfAJVb kXRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764584933; x=1765189733; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=ygDjwJpJeLSApr9Yk+KRSHapU8CeVBWTNC852WoTWfU=; b=D66AAsA/jcHR2cSWOrF3LkBcLAptdwi+xRRuZ138w8aOgMsXZjkFHMk7briPG/rw2q vwsFt4e3p1vExtw3TsIoQdc50to2OklHJkLf6Z+Y6qXlX5toQ2oMQN4vbOKMN8N8cuSF RJuXFxWJBh3G6OiCUTFGwWmwrWG/5QjhmuTw7tAUabocq7cUmsJ8qiBUXyi6h04Fvf2d jgtWO5fS+rtXPxHkPX4Y2XmKmEDbX0yN6qfH5MT5P1E2rTugoWXXvXzfg4IL/gu8TM31 2gzYMRCHtzFyPkyVIT03j1JpylilhjpNJsTvxrayjz9/UxMDnh+D3Ld9HvWWORGk0chW cFwQ== X-Forwarded-Encrypted: i=1; AJvYcCULUWgu75OVLqhAuKPB8s+WoVYN3GeYKoDzEpieknkLTsd1HSGl1PQclaOkNZwhjcv3StidBxeVKFL5hDY=@vger.kernel.org X-Gm-Message-State: AOJu0Yw7ufOZdKWgTRr4+s3R3vVL8ds3RaZddQQF35Ssglbr/j9o2HrN WbPz3lRU/wYip5AaNfuo3nxEgapakhn/JGcJfOtH/8a9z9ZKyO0i/2V4 X-Gm-Gg: ASbGnctYSh/ioFt2eOy5Kvew8BkPHtBU+hu2S7v3aL3BZYZVPkHmoIWXXbi5c02EuQg Wn9p3dt2ulhwbRM71crNJagIQfYsR6mXlQoHmhnrE57NEnYIj+UPKfcmqZIf0fRiQD+h+56SbQ5 6VvKD6EYp8tFTOUgxaa0lBCrg1nOqRoPOSCbdvsBe0oPKn/X69ebqpFzlv1cFpBLovEfBbCIgUy 4N9myMoh9UCCgpBRtwHmZBOsOzveduQgDk4OMzExqHoPx54J+Lp8HN39im1aWhsvwAlQkrpfkCg DP7rwwP5nVWVzoSD5wfMQNAY8m8KTrpdf2kRCvoW9NkOl6iOEhXkmEeh3B1df77J0DWMVzMib8G kDpLkjUq4v5m8zsYz7tT4qSJqUH08cV3JduHI6EOdaeGNdWpGi8JnpxfeQXi1GF7eW25ld3mURl xWLLb1zTz/2Dl+ucuVqxa/XP0o7fEqRkfH2LCjxjCniw+cDp68Y7BPx6sQsIZJ82kvdJQ= X-Google-Smtp-Source: AGHT+IEeOymRIkFQOr4JB61bu2rSDxpP6cAksOESLtPWvBHBz4B7/Sh7AubPoUZ4gTkeiXgXOkHVKA== X-Received: by 2002:a17:907:7245:b0:b76:339d:63ed with SMTP id a640c23a62f3a-b767183c00emr3758956666b.52.1764584932679; Mon, 01 Dec 2025 02:28:52 -0800 (PST) Received: from localhost (dslb-002-205-018-238.002.205.pools.vodafone-ip.de. [2.205.18.238]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b76f5162d26sm1190495766b.3.2025.12.01.02.28.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Dec 2025 02:28:52 -0800 (PST) From: Jonas Gorski To: Andrew Lunn , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , Shuah Khan , Florian Fainelli Cc: Vladimir Oltean , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org Subject: [PATCH RFC/RFT net-next v2 5/5] selftests: no_forwarding: test VLAN uppers on VLAN-unaware bridged ports Date: Mon, 1 Dec 2025 11:28:17 +0100 Message-ID: <20251201102817.301552-6-jonas.gorski@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251201102817.301552-1-jonas.gorski@gmail.com> References: <20251201102817.301552-1-jonas.gorski@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" A VLAN upper on a bridged port consumes the VLAN on this port and inhibits forwarding of it. Add a test that for VLAN-unaware bridges a single VLAN upper prevents forwarding of that VLAN from that port. This is asymmetric "blocking", as other ports' traffic can still be forwarded to this port. This is not tested, as this is a no-forward test, not a forward test. Since we are testing VLAN uppers, skip checking untagged traffic in those cases. Disallowing VLAN uppers on bridge ports is a valid choice for switchdev drivers, so test if we can create them first and skip the tests if not. Signed-off-by: Jonas Gorski --- v1 -> v2: * new patch .../selftests/net/forwarding/no_forwarding.sh | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/net/forwarding/no_forwarding.sh b/tool= s/testing/selftests/net/forwarding/no_forwarding.sh index c8adf04e1328..d223b5b79a4f 100755 --- a/tools/testing/selftests/net/forwarding/no_forwarding.sh +++ b/tools/testing/selftests/net/forwarding/no_forwarding.sh @@ -1,7 +1,7 @@ #!/bin/bash # SPDX-License-Identifier: GPL-2.0 =20 -ALL_TESTS=3D"standalone two_bridges one_bridge_two_pvids bridge_aware_vlan= _uppers" +ALL_TESTS=3D"standalone two_bridges one_bridge_two_pvids bridge_unaware_vl= an_upper bridge_aware_vlan_uppers" NUM_NETIFS=3D4 =20 source lib.sh @@ -226,6 +226,24 @@ one_bridge_two_pvids() ip link del br0 } =20 +bridge_unaware_vlan_upper() +{ + ip link add br0 type bridge && ip link set br0 up + ip link set $swp1 master br0 + ip link set $swp2 master br0 + + if ! ip link add name $swp1.10 link $swp1 type vlan id 10 2>/dev/null; th= en + ip link del br0 + echo "SKIP: bridge does not allow vlan uppers on bridge ports" + exit "$ksft_skip" + fi + vlan_destroy $swp1 10 + + run_test "Switch ports in VLAN-unaware bridge with VLAN upper" 1 + + ip link del br0 +} + bridge_aware_vlan_uppers() { ip link add br0 type bridge vlan_filtering 1 vlan_default_pvid 0 --=20 2.43.0