* [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.