|
@@ -1263,10 +1263,10 @@ struct neighbour *neigh_event_ns(struct neigh_table *tbl,
|
|
|
EXPORT_SYMBOL(neigh_event_ns);
|
|
|
|
|
|
/* called with read_lock_bh(&n->lock); */
|
|
|
-static void neigh_hh_init(struct neighbour *n, struct dst_entry *dst)
|
|
|
+static void neigh_hh_init(struct neighbour *n)
|
|
|
{
|
|
|
- struct net_device *dev = dst->dev;
|
|
|
- __be16 prot = dst->ops->protocol;
|
|
|
+ struct net_device *dev = n->dev;
|
|
|
+ __be16 prot = n->tbl->protocol;
|
|
|
struct hh_cache *hh = &n->hh;
|
|
|
|
|
|
write_lock_bh(&n->lock);
|
|
@@ -1296,7 +1296,7 @@ int neigh_resolve_output(struct neighbour *neigh, struct sk_buff *skb)
|
|
|
unsigned int seq;
|
|
|
|
|
|
if (dev->header_ops->cache && !neigh->hh.hh_len)
|
|
|
- neigh_hh_init(neigh, dst);
|
|
|
+ neigh_hh_init(neigh);
|
|
|
|
|
|
do {
|
|
|
__skb_pull(skb, skb_network_offset(skb));
|