Loading include/net/neighbour.h +9 −0 Original line number Diff line number Diff line Loading @@ -344,6 +344,15 @@ static inline int neigh_hh_output(struct hh_cache *hh, struct sk_buff *skb) return hh->hh_output(skb); } static inline int neigh_output(struct neighbour *n, struct sk_buff *skb) { struct hh_cache *hh = &n->hh; if (hh->hh_len) return neigh_hh_output(hh, skb); else return n->output(skb); } static inline struct neighbour * __neigh_lookup(struct neigh_table *tbl, const void *pkey, struct net_device *dev, int creat) { Loading net/ipv4/ip_output.c +3 −7 Original line number Diff line number Diff line Loading @@ -205,13 +205,9 @@ static inline int ip_finish_output2(struct sk_buff *skb) } neigh = dst->neighbour; if (neigh) { struct hh_cache *hh = &neigh->hh; if (hh->hh_len) return neigh_hh_output(hh, skb); else return neigh->output(skb); } if (neigh) return neigh_output(neigh, skb); if (net_ratelimit()) printk(KERN_DEBUG "ip_finish_output2: No header cache and no neighbour!\n"); kfree_skb(skb); Loading net/ipv6/ip6_output.c +3 −7 Original line number Diff line number Diff line Loading @@ -136,13 +136,9 @@ static int ip6_finish_output2(struct sk_buff *skb) } neigh = dst->neighbour; if (neigh) { struct hh_cache *hh = &neigh->hh; if (hh->hh_len) return neigh_hh_output(hh, skb); else return neigh->output(skb); } if (neigh) return neigh_output(neigh, skb); IP6_INC_STATS_BH(dev_net(dst->dev), ip6_dst_idev(dst), IPSTATS_MIB_OUTNOROUTES); kfree_skb(skb); Loading Loading
include/net/neighbour.h +9 −0 Original line number Diff line number Diff line Loading @@ -344,6 +344,15 @@ static inline int neigh_hh_output(struct hh_cache *hh, struct sk_buff *skb) return hh->hh_output(skb); } static inline int neigh_output(struct neighbour *n, struct sk_buff *skb) { struct hh_cache *hh = &n->hh; if (hh->hh_len) return neigh_hh_output(hh, skb); else return n->output(skb); } static inline struct neighbour * __neigh_lookup(struct neigh_table *tbl, const void *pkey, struct net_device *dev, int creat) { Loading
net/ipv4/ip_output.c +3 −7 Original line number Diff line number Diff line Loading @@ -205,13 +205,9 @@ static inline int ip_finish_output2(struct sk_buff *skb) } neigh = dst->neighbour; if (neigh) { struct hh_cache *hh = &neigh->hh; if (hh->hh_len) return neigh_hh_output(hh, skb); else return neigh->output(skb); } if (neigh) return neigh_output(neigh, skb); if (net_ratelimit()) printk(KERN_DEBUG "ip_finish_output2: No header cache and no neighbour!\n"); kfree_skb(skb); Loading
net/ipv6/ip6_output.c +3 −7 Original line number Diff line number Diff line Loading @@ -136,13 +136,9 @@ static int ip6_finish_output2(struct sk_buff *skb) } neigh = dst->neighbour; if (neigh) { struct hh_cache *hh = &neigh->hh; if (hh->hh_len) return neigh_hh_output(hh, skb); else return neigh->output(skb); } if (neigh) return neigh_output(neigh, skb); IP6_INC_STATS_BH(dev_net(dst->dev), ip6_dst_idev(dst), IPSTATS_MIB_OUTNOROUTES); kfree_skb(skb); Loading