aboutsummaryrefslogtreecommitdiffstats
path: root/net/xfrm/xfrm_policy.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-07-03 00:52:24 -0400
committerDavid S. Miller <davem@davemloft.net>2012-07-05 04:04:01 -0400
commitf894cbf847c9bea1955095bf37aca6c050553167 (patch)
tree9cc63b36c2d299bba95ea90213f4a9ef0ae433d6 /net/xfrm/xfrm_policy.c
parent5110effee8fde2edfacac9cd12a9960ab2dc39ea (diff)
net: Add optional SKB arg to dst_ops->neigh_lookup().
Causes the handler to use the daddr in the ipv4/ipv6 header when the route gateway is unspecified (local subnet). Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/xfrm/xfrm_policy.c')
-rw-r--r--net/xfrm/xfrm_policy.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c
index ccfbd328a69d..a28a3f972d5b 100644
--- a/net/xfrm/xfrm_policy.c
+++ b/net/xfrm/xfrm_policy.c
@@ -2404,9 +2404,11 @@ static unsigned int xfrm_mtu(const struct dst_entry *dst)
2404 return mtu ? : dst_mtu(dst->path); 2404 return mtu ? : dst_mtu(dst->path);
2405} 2405}
2406 2406
2407static struct neighbour *xfrm_neigh_lookup(const struct dst_entry *dst, const void *daddr) 2407static struct neighbour *xfrm_neigh_lookup(const struct dst_entry *dst,
2408 struct sk_buff *skb,
2409 const void *daddr)
2408{ 2410{
2409 return dst_neigh_lookup(dst->path, daddr); 2411 return dst->path->ops->neigh_lookup(dst, skb, daddr);
2410} 2412}
2411 2413
2412int xfrm_policy_register_afinfo(struct xfrm_policy_afinfo *afinfo) 2414int xfrm_policy_register_afinfo(struct xfrm_policy_afinfo *afinfo)