summaryrefslogtreecommitdiffstats
path: root/include/net/neighbour.h
diff options
context:
space:
mode:
authorTony Lindgren <tony@atomide.com>2017-03-06 17:37:53 +0100
committerTony Lindgren <tony@atomide.com>2017-03-06 17:37:53 +0100
commite24bce8fb4c26bd0d8eca74cbbee1ad049246be3 (patch)
treec219c2ec183633aa15841fca5b055a09d2d0b980 /include/net/neighbour.h
parentARM: OMAP2+: Release device node after it is no longer needed. (diff)
parentLinux 4.11-rc1 (diff)
downloadlinux-e24bce8fb4c26bd0d8eca74cbbee1ad049246be3.tar.xz
linux-e24bce8fb4c26bd0d8eca74cbbee1ad049246be3.zip
Merge tag 'v4.11-rc1' into omap-for-v4.11/fixes
Linux 4.11-rc1
Diffstat (limited to 'include/net/neighbour.h')
-rw-r--r--include/net/neighbour.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/net/neighbour.h b/include/net/neighbour.h
index 8b683841e574..5ebf69491160 100644
--- a/include/net/neighbour.h
+++ b/include/net/neighbour.h
@@ -468,6 +468,16 @@ static inline int neigh_hh_output(const struct hh_cache *hh, struct sk_buff *skb
return dev_queue_xmit(skb);
}
+static inline int neigh_output(struct neighbour *n, struct sk_buff *skb)
+{
+ const struct hh_cache *hh = &n->hh;
+
+ if ((n->nud_state & NUD_CONNECTED) && hh->hh_len)
+ return neigh_hh_output(hh, skb);
+ else
+ return n->output(n, skb);
+}
+
static inline struct neighbour *
__neigh_lookup(struct neigh_table *tbl, const void *pkey, struct net_device *dev, int creat)
{