net: Add ->neigh_lookup() operation to dst_ops
In the future dst entries will be neigh-less. In that environment we need to have an easy transition point for current users of dst->neighbour outside of the packet output fast path. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -2385,6 +2385,11 @@ static unsigned int xfrm_default_mtu(const struct dst_entry *dst)
|
||||
return dst_mtu(dst->path);
|
||||
}
|
||||
|
||||
static struct neighbour *xfrm_neigh_lookup(const struct dst_entry *dst, const void *daddr)
|
||||
{
|
||||
return dst_neigh_lookup(dst->path, daddr);
|
||||
}
|
||||
|
||||
int xfrm_policy_register_afinfo(struct xfrm_policy_afinfo *afinfo)
|
||||
{
|
||||
struct net *net;
|
||||
@@ -2410,6 +2415,8 @@ int xfrm_policy_register_afinfo(struct xfrm_policy_afinfo *afinfo)
|
||||
dst_ops->negative_advice = xfrm_negative_advice;
|
||||
if (likely(dst_ops->link_failure == NULL))
|
||||
dst_ops->link_failure = xfrm_link_failure;
|
||||
if (likely(dst_ops->neigh_lookup == NULL))
|
||||
dst_ops->neigh_lookup = xfrm_neigh_lookup;
|
||||
if (likely(afinfo->garbage_collect == NULL))
|
||||
afinfo->garbage_collect = __xfrm_garbage_collect;
|
||||
xfrm_policy_afinfo[afinfo->family] = afinfo;
|
||||
|
Reference in New Issue
Block a user