All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net] net: mctp: unconditionally set skb->dev on dst output
@ 2025-11-25  6:48 Jeremy Kerr
  2025-11-27 10:50 ` patchwork-bot+netdevbpf
  0 siblings, 1 reply; 2+ messages in thread
From: Jeremy Kerr @ 2025-11-25  6:48 UTC (permalink / raw)
  To: Matt Johnston, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Simon Horman
  Cc: netdev, Vince Chang

On transmit, we are currently relying on skb->dev being set by
mctp_local_output() when we first set up the skb destination fields.
However, forwarded skbs do not use the local_output path, so will retain
their incoming netdev as their ->dev on tx. This does not work when
we're forwarding between interfaces.

Set skb->dev unconditionally in the transmit path, to allow for proper
forwarding.

We keep the skb->dev initialisation in mctp_local_output(), as we use it
for fragmentation.

Fixes: 269936db5eb3 ("net: mctp: separate routing database from routing operations")
Suggested-by: Vince Chang <vince_chang@aspeedtech.com>
Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au>
---
 net/mctp/route.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/net/mctp/route.c b/net/mctp/route.c
index 4d314e062ba9c4137f196482880660be67a71b11..2ac4011a953fffe9e01f3bfe0f571b3727b3e903 100644
--- a/net/mctp/route.c
+++ b/net/mctp/route.c
@@ -623,6 +623,7 @@ static int mctp_dst_output(struct mctp_dst *dst, struct sk_buff *skb)
 
 	skb->protocol = htons(ETH_P_MCTP);
 	skb->pkt_type = PACKET_OUTGOING;
+	skb->dev = dst->dev->dev;
 
 	if (skb->len > dst->mtu) {
 		kfree_skb(skb);

---
base-commit: 4c19c4fa8dabb945a017c1910605ab2616725c6c
change-id: 20251125-dev-forward-932c006dec72

Best regards,
-- 
Jeremy Kerr <jk@codeconstruct.com.au>


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH net] net: mctp: unconditionally set skb->dev on dst output
  2025-11-25  6:48 [PATCH net] net: mctp: unconditionally set skb->dev on dst output Jeremy Kerr
@ 2025-11-27 10:50 ` patchwork-bot+netdevbpf
  0 siblings, 0 replies; 2+ messages in thread
From: patchwork-bot+netdevbpf @ 2025-11-27 10:50 UTC (permalink / raw)
  To: Jeremy Kerr
  Cc: matt, davem, edumazet, kuba, pabeni, horms, netdev, vince_chang

Hello:

This patch was applied to netdev/net.git (main)
by Paolo Abeni <pabeni@redhat.com>:

On Tue, 25 Nov 2025 14:48:54 +0800 you wrote:
> On transmit, we are currently relying on skb->dev being set by
> mctp_local_output() when we first set up the skb destination fields.
> However, forwarded skbs do not use the local_output path, so will retain
> their incoming netdev as their ->dev on tx. This does not work when
> we're forwarding between interfaces.
> 
> Set skb->dev unconditionally in the transmit path, to allow for proper
> forwarding.
> 
> [...]

Here is the summary with links:
  - [net] net: mctp: unconditionally set skb->dev on dst output
    https://git.kernel.org/netdev/net/c/b3e528a5811b

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-11-27 10:50 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-25  6:48 [PATCH net] net: mctp: unconditionally set skb->dev on dst output Jeremy Kerr
2025-11-27 10:50 ` patchwork-bot+netdevbpf

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.