Lines Matching defs:neigh

29 	struct mctp_neigh *neigh;
38 if (lladdr_len > sizeof(neigh->ha)) {
43 neigh = kzalloc(sizeof(*neigh), GFP_KERNEL);
44 if (!neigh) {
48 INIT_LIST_HEAD(&neigh->list);
49 neigh->dev = mdev;
50 mctp_dev_hold(neigh->dev);
51 neigh->eid = eid;
52 neigh->source = source;
53 memcpy(neigh->ha, lladdr, lladdr_len);
55 list_add_rcu(&neigh->list, &net->mctp.neighbours);
64 struct mctp_neigh *neigh = container_of(rcu, struct mctp_neigh, rcu);
66 mctp_dev_put(neigh->dev);
67 kfree(neigh);
74 struct mctp_neigh *neigh, *tmp;
77 list_for_each_entry_safe(neigh, tmp, &net->mctp.neighbours, list) {
78 if (neigh->dev == mdev) {
79 list_del_rcu(&neigh->list);
81 call_rcu(&neigh->rcu, __mctp_neigh_free);
92 struct mctp_neigh *neigh, *tmp;
96 list_for_each_entry_safe(neigh, tmp, &net->mctp.neighbours, list) {
97 if (neigh->dev == mdev && neigh->eid == eid &&
98 neigh->source == source) {
99 list_del_rcu(&neigh->list);
101 call_rcu(&neigh->rcu, __mctp_neigh_free);
210 unsigned int flags, struct mctp_neigh *neigh)
212 struct net_device *dev = neigh->dev->dev;
224 if (neigh->source == MCTP_NEIGH_STATIC)
229 if (nla_put_u8(skb, NDA_DST, neigh->eid))
232 if (nla_put(skb, NDA_LLADDR, dev->addr_len, neigh->ha))
247 struct mctp_neigh *neigh;
261 list_for_each_entry_rcu(neigh, &net->mctp.neighbours, list) {
266 if (req_ifindex == 0 || req_ifindex == neigh->dev->dev->ifindex)
269 RTM_NEWNEIGH, NLM_F_MULTI, neigh);
285 struct mctp_neigh *neigh;
289 list_for_each_entry_rcu(neigh, &net->mctp.neighbours, list) {
290 if (mdev == neigh->dev && eid == neigh->eid) {
292 memcpy(ret_hwaddr, neigh->ha,
293 sizeof(neigh->ha));
315 struct mctp_neigh *neigh;
317 list_for_each_entry(neigh, &ns->neighbours, list)
318 call_rcu(&neigh->rcu, __mctp_neigh_free);