Skip to content

Commit b5a7b66

Browse files
leonshawkuba-moo
authored andcommitted
net: Fix netns for ip_tunnel_init_flow()
The device denoted by tunnel->parms.link resides in the underlay net namespace. Therefore pass tunnel->net to ip_tunnel_init_flow(). Fixes: db53cd3 ("net: Handle l3mdev in ip_tunnel_init_flow") Signed-off-by: Xiao Liang <[email protected]> Reviewed-by: Ido Schimmel <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent 4f4aa4a commit b5a7b66

File tree

2 files changed

+4
-5
lines changed

2 files changed

+4
-5
lines changed

drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -423,8 +423,7 @@ mlxsw_sp_span_gretap4_route(const struct net_device *to_dev,
423423

424424
parms = mlxsw_sp_ipip_netdev_parms4(to_dev);
425425
ip_tunnel_init_flow(&fl4, parms.iph.protocol, *daddrp, *saddrp,
426-
0, 0, dev_net(to_dev), parms.link, tun->fwmark, 0,
427-
0);
426+
0, 0, tun->net, parms.link, tun->fwmark, 0, 0);
428427

429428
rt = ip_route_output_key(tun->net, &fl4);
430429
if (IS_ERR(rt))

net/ipv4/ip_tunnel.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,7 @@ static int ip_tunnel_bind_dev(struct net_device *dev)
294294

295295
ip_tunnel_init_flow(&fl4, iph->protocol, iph->daddr,
296296
iph->saddr, tunnel->parms.o_key,
297-
iph->tos & INET_DSCP_MASK, dev_net(dev),
297+
iph->tos & INET_DSCP_MASK, tunnel->net,
298298
tunnel->parms.link, tunnel->fwmark, 0, 0);
299299
rt = ip_route_output_key(tunnel->net, &fl4);
300300

@@ -611,7 +611,7 @@ void ip_md_tunnel_xmit(struct sk_buff *skb, struct net_device *dev,
611611
}
612612
ip_tunnel_init_flow(&fl4, proto, key->u.ipv4.dst, key->u.ipv4.src,
613613
tunnel_id_to_key32(key->tun_id),
614-
tos & INET_DSCP_MASK, dev_net(dev), 0, skb->mark,
614+
tos & INET_DSCP_MASK, tunnel->net, 0, skb->mark,
615615
skb_get_hash(skb), key->flow_flags);
616616

617617
if (!tunnel_hlen)
@@ -774,7 +774,7 @@ void ip_tunnel_xmit(struct sk_buff *skb, struct net_device *dev,
774774

775775
ip_tunnel_init_flow(&fl4, protocol, dst, tnl_params->saddr,
776776
tunnel->parms.o_key, tos & INET_DSCP_MASK,
777-
dev_net(dev), READ_ONCE(tunnel->parms.link),
777+
tunnel->net, READ_ONCE(tunnel->parms.link),
778778
tunnel->fwmark, skb_get_hash(skb), 0);
779779

780780
if (ip_tunnel_encap(skb, &tunnel->encap, &protocol, &fl4) < 0)

0 commit comments

Comments
 (0)