Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f1b050bf authored by Denis V. Lunev's avatar Denis V. Lunev Committed by David S. Miller
Browse files

[NETNS]: Add namespace parameter to ip_route_output_flow.



Needed to propagate it down to the __ip_route_output_key.

Signed_off_by: Denis V. Lunev <den@openvz.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 611c183e
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -332,7 +332,7 @@ static struct rtable *find_route(struct t3cdev *dev, __be32 local_ip,
			  }
			  }
	};
	};


	if (ip_route_output_flow(&rt, &fl, NULL, 0))
	if (ip_route_output_flow(&init_net, &rt, &fl, NULL, 0))
		return NULL;
		return NULL;
	return rt;
	return rt;
}
}
+3 −3
Original line number Original line Diff line number Diff line
@@ -112,7 +112,7 @@ extern void ip_rt_redirect(__be32 old_gw, __be32 dst, __be32 new_gw,
extern void		rt_cache_flush(int how);
extern void		rt_cache_flush(int how);
extern int		__ip_route_output_key(struct net *, struct rtable **, const struct flowi *flp);
extern int		__ip_route_output_key(struct net *, struct rtable **, const struct flowi *flp);
extern int		ip_route_output_key(struct rtable **, struct flowi *flp);
extern int		ip_route_output_key(struct rtable **, struct flowi *flp);
extern int		ip_route_output_flow(struct rtable **rp, struct flowi *flp, struct sock *sk, int flags);
extern int		ip_route_output_flow(struct net *, struct rtable **rp, struct flowi *flp, struct sock *sk, int flags);
extern int		ip_route_input(struct sk_buff*, __be32 dst, __be32 src, u8 tos, struct net_device *devin);
extern int		ip_route_input(struct sk_buff*, __be32 dst, __be32 src, u8 tos, struct net_device *devin);
extern unsigned short	ip_rt_frag_needed(struct iphdr *iph, unsigned short new_mtu);
extern unsigned short	ip_rt_frag_needed(struct iphdr *iph, unsigned short new_mtu);
extern void		ip_rt_send_redirect(struct sk_buff *skb);
extern void		ip_rt_send_redirect(struct sk_buff *skb);
@@ -167,7 +167,7 @@ static inline int ip_route_connect(struct rtable **rp, __be32 dst,
		*rp = NULL;
		*rp = NULL;
	}
	}
	security_sk_classify_flow(sk, &fl);
	security_sk_classify_flow(sk, &fl);
	return ip_route_output_flow(rp, &fl, sk, flags);
	return ip_route_output_flow(&init_net, rp, &fl, sk, flags);
}
}


static inline int ip_route_newports(struct rtable **rp, u8 protocol,
static inline int ip_route_newports(struct rtable **rp, u8 protocol,
@@ -184,7 +184,7 @@ static inline int ip_route_newports(struct rtable **rp, u8 protocol,
		ip_rt_put(*rp);
		ip_rt_put(*rp);
		*rp = NULL;
		*rp = NULL;
		security_sk_classify_flow(sk, &fl);
		security_sk_classify_flow(sk, &fl);
		return ip_route_output_flow(rp, &fl, sk, 0);
		return ip_route_output_flow(&init_net, rp, &fl, sk, 0);
	}
	}
	return 0;
	return 0;
}
}
+1 −1
Original line number Original line Diff line number Diff line
@@ -469,7 +469,7 @@ static struct dst_entry* dccp_v4_route_skb(struct sock *sk,
			  };
			  };


	security_skb_classify_flow(skb, &fl);
	security_skb_classify_flow(skb, &fl);
	if (ip_route_output_flow(&rt, &fl, sk, 0)) {
	if (ip_route_output_flow(&init_net, &rt, &fl, sk, 0)) {
		IP_INC_STATS_BH(IPSTATS_MIB_OUTNOROUTES);
		IP_INC_STATS_BH(IPSTATS_MIB_OUTNOROUTES);
		return NULL;
		return NULL;
	}
	}
+1 −1
Original line number Original line Diff line number Diff line
@@ -1113,7 +1113,7 @@ int inet_sk_rebuild_header(struct sock *sk)
	};
	};


	security_sk_classify_flow(sk, &fl);
	security_sk_classify_flow(sk, &fl);
	err = ip_route_output_flow(&rt, &fl, sk, 0);
	err = ip_route_output_flow(&init_net, &rt, &fl, sk, 0);
}
}
	if (!err)
	if (!err)
		sk_setup_caps(sk, &rt->u.dst);
		sk_setup_caps(sk, &rt->u.dst);
+1 −1
Original line number Original line Diff line number Diff line
@@ -333,7 +333,7 @@ struct dst_entry* inet_csk_route_req(struct sock *sk,
					 .dport = ireq->rmt_port } } };
					 .dport = ireq->rmt_port } } };


	security_req_classify_flow(req, &fl);
	security_req_classify_flow(req, &fl);
	if (ip_route_output_flow(&rt, &fl, sk, 0)) {
	if (ip_route_output_flow(&init_net, &rt, &fl, sk, 0)) {
		IP_INC_STATS_BH(IPSTATS_MIB_OUTNOROUTES);
		IP_INC_STATS_BH(IPSTATS_MIB_OUTNOROUTES);
		return NULL;
		return NULL;
	}
	}
Loading