All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nicolai Buchwitz <nb@tipi-net.de>
To: Maxime Chevallier <maxime.chevallier@bootlin.com>
Cc: "Andrew Lunn" <andrew+netdev@lunn.ch>,
	davem@davemloft.net, "Eric Dumazet" <edumazet@google.com>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Paolo Abeni" <pabeni@redhat.com>,
	"Russell King" <linux@armlinux.org.uk>,
	"Heiner Kallweit" <hkallweit1@gmail.com>,
	"Alexis Lothoré" <alexis.lothore@bootlin.com>,
	"Maxime Coquelin" <mcoquelin.stm32@gmail.com>,
	"Alexandre Torgue" <alexandre.torgue@foss.st.com>,
	"Emil Renner Berthing" <kernel@esmil.dk>,
	"Minda Chen" <minda.chen@starfivetech.com>,
	"Neil Armstrong" <neil.armstrong@linaro.org>,
	"Kevin Hilman" <khilman@baylibre.com>,
	"Jerome Brunet" <jbrunet@baylibre.com>,
	"Martin Blumenstingl" <martin.blumenstingl@googlemail.com>,
	"Jan Petrous" <jan.petrous@oss.nxp.com>,
	"Ovidiu Panait" <ovidiu.panait.rb@renesas.com>,
	Jose.Abreu@synopsys.com, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org, thomas.petazzoni@bootlin.com,
	linux-arm-kernel@lists.infradead.org,
	linux-stm32@st-md-mailman.stormreply.com, PKneuper@dspace.de,
	"David Laight" <david.laight.linux@gmail.com>
Subject: Re: [PATCH net v2 4/6] net: stmmac: selftests: Capture all packets for vlan checks
Date: Thu, 10 Sep 2026 20:13:37 +0200	[thread overview]
Message-ID: <ffa7e2ca24b7a0d6a66d8213a8fb5daf@tipi-net.de> (raw)
In-Reply-To: <20260910151404.976753-5-maxime.chevallier@bootlin.com>

On 10.9.2026 17:14, Maxime Chevallier wrote:
> While we use vlan_vid_add to trigger the tag filtering machinery
> in the driver, there's no netdev associated to the VLAN. This causes 
> the
> skb to arrive with empty skb->vlan_tci fields, as the packet is marked
> OTHERHOST in __netif_receive_skb_core(), and we fail our validation.
> 
> Let's use the proxy mechanism introduced for DSA, that registers a
> ETH_P_ALL packet handler that runs earlier, before the vlan netdev
> lookup, then filters for the correct ethertype before passing an skb
> clone to our validation function.
> 
> Fixes: 091810dbded9 ("net: stmmac: Introduce selftests support")
> Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
> ---
>  drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c 
> b/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c
> index f3a533bc6bb6..ec56ee0031ab 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c
> @@ -241,6 +241,7 @@ struct stmmac_test_priv {
>  	__be16 packet_type;
>  	int (*func)(struct sk_buff *skb, struct net_device *ndev,
>  		    struct packet_type *pt, struct net_device *orig_ndev);
> +	bool capture_all;
>  	int double_vlan;
>  	int vlan_id;
>  	int ok;
> @@ -343,7 +344,7 @@ static void stmmac_sft_add_pack(struct packet_type 
> *pt)
>  {
>  	struct stmmac_test_priv *tpriv = pt->af_packet_priv;
> 
> -	if (netdev_uses_dsa(tpriv->pt.dev)) {
> +	if (netdev_uses_dsa(tpriv->pt.dev) || tpriv->capture_all) {
>  		tpriv->packet_type = tpriv->pt.type;
>  		tpriv->func = tpriv->pt.func;
> 
> @@ -994,6 +995,7 @@ static int __stmmac_test_vlanfilt(struct 
> stmmac_priv *priv)
>  	tpriv->pt.dev = priv->dev;
>  	tpriv->pt.af_packet_priv = tpriv;
>  	tpriv->packet = &attr;
> +	tpriv->capture_all = true;
> 
>  	/*
>  	 * As we use HASH filtering, false positives may appear. This is a
> @@ -1088,6 +1090,7 @@ static int __stmmac_test_dvlanfilt(struct 
> stmmac_priv *priv)
>  	tpriv->pt.dev = priv->dev;
>  	tpriv->pt.af_packet_priv = tpriv;
>  	tpriv->packet = &attr;
> +	tpriv->capture_all = true;
> 
>  	/*
>  	 * As we use HASH filtering, false positives may appear. This is a
> @@ -1366,6 +1369,7 @@ static int stmmac_test_vlanoff_common(struct 
> stmmac_priv *priv, bool svlan)
>  	tpriv->pt.af_packet_priv = tpriv;
>  	tpriv->packet = &attr;
>  	tpriv->vlan_id = 0x123;
> +	tpriv->capture_all = true;
>  	stmmac_sft_add_pack(&tpriv->pt);
> 
>  	ret = vlan_vid_add(priv->dev, htons(proto), tpriv->vlan_id);

Reviewed-by: Nicolai Buchwitz <nb@tipi-net.de>

Thanks,
Nicolai

  reply	other threads:[~2026-09-10 18:13 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-10 15:13 [PATCH net v2 0/6] net: stmmac: More selftest-related fixes Maxime Chevallier
2026-09-10 15:13 ` [PATCH net v2 1/6] net: stmmac: selftests: Support running selftests on DSA conduits Maxime Chevallier
2026-09-10 18:12   ` Nicolai Buchwitz
2026-09-10 15:13 ` [PATCH net v2 2/6] net: stmmac: selftests: Validate EEE based on the actual LPI timer value Maxime Chevallier
2026-09-10 17:43   ` Nicolai Buchwitz
2026-09-10 18:50   ` Nicolai Buchwitz
2026-09-10 20:52     ` Maxime Chevallier
2026-09-10 15:14 ` [PATCH net v2 3/6] net: stmmac: selftests: Check the dev->features for S-TAG offload testing Maxime Chevallier
2026-09-10 18:13   ` Nicolai Buchwitz
2026-09-10 15:14 ` [PATCH net v2 4/6] net: stmmac: selftests: Capture all packets for vlan checks Maxime Chevallier
2026-09-10 18:13   ` Nicolai Buchwitz [this message]
2026-09-10 15:14 ` [PATCH net v2 5/6] net: stmmac: size the RX buffers from the frame length, not the MTU Maxime Chevallier
2026-09-10 18:42   ` Nicolai Buchwitz
2026-09-10 15:14 ` [PATCH net v2 6/6] net: stmmac: selftests: Account for alignment shift on dwmac1000 for Jumbo test Maxime Chevallier
2026-09-10 18:13   ` Nicolai Buchwitz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ffa7e2ca24b7a0d6a66d8213a8fb5daf@tipi-net.de \
    --to=nb@tipi-net.de \
    --cc=Jose.Abreu@synopsys.com \
    --cc=PKneuper@dspace.de \
    --cc=alexandre.torgue@foss.st.com \
    --cc=alexis.lothore@bootlin.com \
    --cc=andrew+netdev@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=david.laight.linux@gmail.com \
    --cc=edumazet@google.com \
    --cc=hkallweit1@gmail.com \
    --cc=jan.petrous@oss.nxp.com \
    --cc=jbrunet@baylibre.com \
    --cc=kernel@esmil.dk \
    --cc=khilman@baylibre.com \
    --cc=kuba@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=linux@armlinux.org.uk \
    --cc=martin.blumenstingl@googlemail.com \
    --cc=maxime.chevallier@bootlin.com \
    --cc=mcoquelin.stm32@gmail.com \
    --cc=minda.chen@starfivetech.com \
    --cc=neil.armstrong@linaro.org \
    --cc=netdev@vger.kernel.org \
    --cc=ovidiu.panait.rb@renesas.com \
    --cc=pabeni@redhat.com \
    --cc=thomas.petazzoni@bootlin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.