Lines Matching refs:neigh
77 if (e->neigh)
78 neigh_release(e->neigh);
79 e->neigh = n;
105 memcpy(e->dmac, e->neigh->ha, sizeof(e->dmac));
134 neigh_event_send(e->neigh, NULL);
160 if (!neigh_event_send(e->neigh, NULL)) {
184 neigh_event_send(e->neigh, NULL);
210 neigh_event_send(e->neigh, NULL);
268 if (e->neigh) {
269 neigh_release(e->neigh);
270 e->neigh = NULL;
280 * Update an L2T entry that was previously used for the same next hop as neigh.
283 static inline void reuse_entry(struct l2t_entry *e, struct neighbour *neigh)
289 if (neigh != e->neigh)
290 neigh_replace(e, neigh);
291 nud_state = neigh->nud_state;
292 if (memcmp(e->dmac, neigh->ha, sizeof(e->dmac)) ||
306 struct neighbour *neigh;
315 neigh = dst_neigh_lookup(dst, daddr);
316 if (!neigh)
319 addr = *(u32 *) neigh->primary_key;
320 ifidx = neigh->dev->ifindex;
323 dev = neigh->dev;
339 reuse_entry(e, neigh);
354 neigh_replace(e, neigh);
355 if (is_vlan_dev(neigh->dev))
356 e->vlan = vlan_dev_vlan_id(neigh->dev);
364 if (neigh)
365 neigh_release(neigh);
399 void t3_l2t_update(struct t3cdev *dev, struct neighbour *neigh)
404 u32 addr = *(u32 *) neigh->primary_key;
405 int ifidx = neigh->dev->ifindex;
422 if (neigh != e->neigh)
423 neigh_replace(e, neigh);
426 if (neigh->nud_state & NUD_FAILED) {
428 } else if (neigh->nud_state & (NUD_CONNECTED|NUD_STALE))
431 e->state = neigh->nud_state & NUD_CONNECTED ?
433 if (!ether_addr_equal(e->dmac, neigh->ha))