diff options
Diffstat (limited to 'net/ipv4/ip_output.c')
-rw-r--r-- | net/ipv4/ip_output.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c index 1ac674a68c77..db296a98b236 100644 --- a/net/ipv4/ip_output.c +++ b/net/ipv4/ip_output.c | |||
@@ -205,13 +205,9 @@ static inline int ip_finish_output2(struct sk_buff *skb) | |||
205 | } | 205 | } |
206 | 206 | ||
207 | neigh = dst->neighbour; | 207 | neigh = dst->neighbour; |
208 | if (neigh) { | 208 | if (neigh) |
209 | struct hh_cache *hh = &neigh->hh; | 209 | return neigh_output(neigh, skb); |
210 | if (hh->hh_len) | 210 | |
211 | return neigh_hh_output(hh, skb); | ||
212 | else | ||
213 | return neigh->output(skb); | ||
214 | } | ||
215 | if (net_ratelimit()) | 211 | if (net_ratelimit()) |
216 | printk(KERN_DEBUG "ip_finish_output2: No header cache and no neighbour!\n"); | 212 | printk(KERN_DEBUG "ip_finish_output2: No header cache and no neighbour!\n"); |
217 | kfree_skb(skb); | 213 | kfree_skb(skb); |