diff options
author | Alexey Dobriyan <adobriyan@gmail.com> | 2008-11-25 20:51:25 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-11-25 20:51:25 -0500 |
commit | c5b3cf46eabe6e7459125fc6e2033b4222665017 (patch) | |
tree | a968ad567906d7b45270b9e91d534493f8a1a38d /net/ipv4/xfrm4_policy.c | |
parent | db983c1144884cab10d6397532f4bf05eb0c01d2 (diff) |
netns xfrm: ->dst_lookup in netns
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/xfrm4_policy.c')
-rw-r--r-- | net/ipv4/xfrm4_policy.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/net/ipv4/xfrm4_policy.c b/net/ipv4/xfrm4_policy.c index a881ca38dddb..e1cf9ed07d49 100644 --- a/net/ipv4/xfrm4_policy.c +++ b/net/ipv4/xfrm4_policy.c | |||
@@ -18,7 +18,8 @@ | |||
18 | static struct dst_ops xfrm4_dst_ops; | 18 | static struct dst_ops xfrm4_dst_ops; |
19 | static struct xfrm_policy_afinfo xfrm4_policy_afinfo; | 19 | static struct xfrm_policy_afinfo xfrm4_policy_afinfo; |
20 | 20 | ||
21 | static struct dst_entry *xfrm4_dst_lookup(int tos, xfrm_address_t *saddr, | 21 | static struct dst_entry *xfrm4_dst_lookup(struct net *net, int tos, |
22 | xfrm_address_t *saddr, | ||
22 | xfrm_address_t *daddr) | 23 | xfrm_address_t *daddr) |
23 | { | 24 | { |
24 | struct flowi fl = { | 25 | struct flowi fl = { |
@@ -36,7 +37,7 @@ static struct dst_entry *xfrm4_dst_lookup(int tos, xfrm_address_t *saddr, | |||
36 | if (saddr) | 37 | if (saddr) |
37 | fl.fl4_src = saddr->a4; | 38 | fl.fl4_src = saddr->a4; |
38 | 39 | ||
39 | err = __ip_route_output_key(&init_net, &rt, &fl); | 40 | err = __ip_route_output_key(net, &rt, &fl); |
40 | dst = &rt->u.dst; | 41 | dst = &rt->u.dst; |
41 | if (err) | 42 | if (err) |
42 | dst = ERR_PTR(err); | 43 | dst = ERR_PTR(err); |
@@ -48,7 +49,7 @@ static int xfrm4_get_saddr(xfrm_address_t *saddr, xfrm_address_t *daddr) | |||
48 | struct dst_entry *dst; | 49 | struct dst_entry *dst; |
49 | struct rtable *rt; | 50 | struct rtable *rt; |
50 | 51 | ||
51 | dst = xfrm4_dst_lookup(0, NULL, daddr); | 52 | dst = xfrm4_dst_lookup(&init_net, 0, NULL, daddr); |
52 | if (IS_ERR(dst)) | 53 | if (IS_ERR(dst)) |
53 | return -EHOSTUNREACH; | 54 | return -EHOSTUNREACH; |
54 | 55 | ||