nr_neigh 105 include/net/netrom.h struct nr_neigh *neighbour; nr_neigh 136 include/net/netrom.h static __inline__ void nr_neigh_put(struct nr_neigh *nr_neigh) nr_neigh 138 include/net/netrom.h if (refcount_dec_and_test(&nr_neigh->refcount)) { nr_neigh 139 include/net/netrom.h if (nr_neigh->ax25) nr_neigh 140 include/net/netrom.h ax25_cb_put(nr_neigh->ax25); nr_neigh 141 include/net/netrom.h kfree(nr_neigh->digipeat); nr_neigh 142 include/net/netrom.h kfree(nr_neigh); nr_neigh 60 net/netrom/nr_route.c static struct nr_neigh *nr_neigh_get_dev(ax25_address *callsign, nr_neigh 63 net/netrom/nr_route.c struct nr_neigh *found = NULL; nr_neigh 64 net/netrom/nr_route.c struct nr_neigh *nr_neigh; nr_neigh 67 net/netrom/nr_route.c nr_neigh_for_each(nr_neigh, &nr_neigh_list) nr_neigh 68 net/netrom/nr_route.c if (ax25cmp(callsign, &nr_neigh->callsign) == 0 && nr_neigh 69 net/netrom/nr_route.c nr_neigh->dev == dev) { nr_neigh 70 net/netrom/nr_route.c nr_neigh_hold(nr_neigh); nr_neigh 71 net/netrom/nr_route.c found = nr_neigh; nr_neigh 78 net/netrom/nr_route.c static void nr_remove_neigh(struct nr_neigh *); nr_neigh 102 net/netrom/nr_route.c struct nr_neigh *nr_neigh; nr_neigh 113 net/netrom/nr_route.c nr_neigh = nr_neigh_get_dev(ax25, dev); nr_neigh 121 net/netrom/nr_route.c if (nr_neigh != NULL && nr_neigh->failed != 0 && quality == 0) { nr_neigh 128 net/netrom/nr_route.c if (nr_nodet->routes[i].neighbour == nr_neigh) nr_neigh 136 net/netrom/nr_route.c if (nr_neigh != NULL) nr_neigh 137 net/netrom/nr_route.c nr_neigh->failed = 0; nr_neigh 139 net/netrom/nr_route.c if (quality == 0 && nr_neigh != NULL && nr_node != NULL) { nr_neigh 140 net/netrom/nr_route.c nr_neigh_put(nr_neigh); nr_neigh 145 net/netrom/nr_route.c if (nr_neigh == NULL) { nr_neigh 146 net/netrom/nr_route.c if ((nr_neigh = kmalloc(sizeof(*nr_neigh), GFP_ATOMIC)) == NULL) { nr_neigh 152 net/netrom/nr_route.c nr_neigh->callsign = *ax25; nr_neigh 153 net/netrom/nr_route.c nr_neigh->digipeat = NULL; nr_neigh 154 net/netrom/nr_route.c nr_neigh->ax25 = NULL; nr_neigh 155 net/netrom/nr_route.c nr_neigh->dev = dev; nr_neigh 156 net/netrom/nr_route.c nr_neigh->quality = sysctl_netrom_default_path_quality; nr_neigh 157 net/netrom/nr_route.c nr_neigh->locked = 0; nr_neigh 158 net/netrom/nr_route.c nr_neigh->count = 0; nr_neigh 159 net/netrom/nr_route.c nr_neigh->number = nr_neigh_no++; nr_neigh 160 net/netrom/nr_route.c nr_neigh->failed = 0; nr_neigh 161 net/netrom/nr_route.c refcount_set(&nr_neigh->refcount, 1); nr_neigh 164 net/netrom/nr_route.c nr_neigh->digipeat = kmemdup(ax25_digi, nr_neigh 167 net/netrom/nr_route.c if (nr_neigh->digipeat == NULL) { nr_neigh 168 net/netrom/nr_route.c kfree(nr_neigh); nr_neigh 176 net/netrom/nr_route.c hlist_add_head(&nr_neigh->neigh_node, &nr_neigh_list); nr_neigh 177 net/netrom/nr_route.c nr_neigh_hold(nr_neigh); nr_neigh 181 net/netrom/nr_route.c if (quality != 0 && ax25cmp(nr, ax25) == 0 && !nr_neigh->locked) nr_neigh 182 net/netrom/nr_route.c nr_neigh->quality = quality; nr_neigh 186 net/netrom/nr_route.c if (nr_neigh) nr_neigh 187 net/netrom/nr_route.c nr_neigh_put(nr_neigh); nr_neigh 201 net/netrom/nr_route.c nr_node->routes[0].neighbour = nr_neigh; nr_neigh 203 net/netrom/nr_route.c nr_neigh_hold(nr_neigh); nr_neigh 204 net/netrom/nr_route.c nr_neigh->count++; nr_neigh 211 net/netrom/nr_route.c nr_neigh_put(nr_neigh); nr_neigh 220 net/netrom/nr_route.c if (nr_node->routes[i].neighbour == nr_neigh) { nr_neigh 236 net/netrom/nr_route.c nr_node->routes[0].neighbour = nr_neigh; nr_neigh 240 net/netrom/nr_route.c nr_neigh_hold(nr_neigh); nr_neigh 241 net/netrom/nr_route.c nr_neigh->count++; nr_neigh 253 net/netrom/nr_route.c nr_node->routes[2].neighbour = nr_neigh; nr_neigh 255 net/netrom/nr_route.c nr_neigh_hold(nr_neigh); nr_neigh 256 net/netrom/nr_route.c nr_neigh->count++; nr_neigh 274 net/netrom/nr_route.c if (nr_node->routes[i].neighbour == nr_neigh) { nr_neigh 281 net/netrom/nr_route.c nr_neigh_put(nr_neigh); nr_neigh 303 net/netrom/nr_route.c static inline void __nr_remove_neigh(struct nr_neigh *nr_neigh) nr_neigh 305 net/netrom/nr_route.c hlist_del_init(&nr_neigh->neigh_node); nr_neigh 306 net/netrom/nr_route.c nr_neigh_put(nr_neigh); nr_neigh 312 net/netrom/nr_route.c static void nr_remove_neigh(struct nr_neigh *nr_neigh) nr_neigh 315 net/netrom/nr_route.c __nr_remove_neigh(nr_neigh); nr_neigh 326 net/netrom/nr_route.c struct nr_neigh *nr_neigh; nr_neigh 334 net/netrom/nr_route.c nr_neigh = nr_neigh_get_dev(neighbour, dev); nr_neigh 336 net/netrom/nr_route.c if (nr_neigh == NULL) { nr_neigh 343 net/netrom/nr_route.c if (nr_node->routes[i].neighbour == nr_neigh) { nr_neigh 344 net/netrom/nr_route.c nr_neigh->count--; nr_neigh 345 net/netrom/nr_route.c nr_neigh_put(nr_neigh); nr_neigh 347 net/netrom/nr_route.c if (nr_neigh->count == 0 && !nr_neigh->locked) nr_neigh 348 net/netrom/nr_route.c nr_remove_neigh(nr_neigh); nr_neigh 349 net/netrom/nr_route.c nr_neigh_put(nr_neigh); nr_neigh 372 net/netrom/nr_route.c nr_neigh_put(nr_neigh); nr_neigh 385 net/netrom/nr_route.c struct nr_neigh *nr_neigh; nr_neigh 387 net/netrom/nr_route.c nr_neigh = nr_neigh_get_dev(callsign, dev); nr_neigh 388 net/netrom/nr_route.c if (nr_neigh) { nr_neigh 389 net/netrom/nr_route.c nr_neigh->quality = quality; nr_neigh 390 net/netrom/nr_route.c nr_neigh->locked = 1; nr_neigh 391 net/netrom/nr_route.c nr_neigh_put(nr_neigh); nr_neigh 395 net/netrom/nr_route.c if ((nr_neigh = kmalloc(sizeof(*nr_neigh), GFP_ATOMIC)) == NULL) nr_neigh 398 net/netrom/nr_route.c nr_neigh->callsign = *callsign; nr_neigh 399 net/netrom/nr_route.c nr_neigh->digipeat = NULL; nr_neigh 400 net/netrom/nr_route.c nr_neigh->ax25 = NULL; nr_neigh 401 net/netrom/nr_route.c nr_neigh->dev = dev; nr_neigh 402 net/netrom/nr_route.c nr_neigh->quality = quality; nr_neigh 403 net/netrom/nr_route.c nr_neigh->locked = 1; nr_neigh 404 net/netrom/nr_route.c nr_neigh->count = 0; nr_neigh 405 net/netrom/nr_route.c nr_neigh->number = nr_neigh_no++; nr_neigh 406 net/netrom/nr_route.c nr_neigh->failed = 0; nr_neigh 407 net/netrom/nr_route.c refcount_set(&nr_neigh->refcount, 1); nr_neigh 410 net/netrom/nr_route.c nr_neigh->digipeat = kmemdup(ax25_digi, sizeof(*ax25_digi), nr_neigh 412 net/netrom/nr_route.c if (nr_neigh->digipeat == NULL) { nr_neigh 413 net/netrom/nr_route.c kfree(nr_neigh); nr_neigh 419 net/netrom/nr_route.c hlist_add_head(&nr_neigh->neigh_node, &nr_neigh_list); nr_neigh 432 net/netrom/nr_route.c struct nr_neigh *nr_neigh; nr_neigh 434 net/netrom/nr_route.c nr_neigh = nr_neigh_get_dev(callsign, dev); nr_neigh 436 net/netrom/nr_route.c if (nr_neigh == NULL) return -EINVAL; nr_neigh 438 net/netrom/nr_route.c nr_neigh->quality = quality; nr_neigh 439 net/netrom/nr_route.c nr_neigh->locked = 0; nr_neigh 441 net/netrom/nr_route.c if (nr_neigh->count == 0) nr_neigh 442 net/netrom/nr_route.c nr_remove_neigh(nr_neigh); nr_neigh 443 net/netrom/nr_route.c nr_neigh_put(nr_neigh); nr_neigh 455 net/netrom/nr_route.c struct nr_neigh *nr_neigh; nr_neigh 469 net/netrom/nr_route.c nr_neigh = s->routes[i].neighbour; nr_neigh 471 net/netrom/nr_route.c nr_neigh->count--; nr_neigh 472 net/netrom/nr_route.c nr_neigh_put(nr_neigh); nr_neigh 474 net/netrom/nr_route.c if (nr_neigh->count == 0 && !nr_neigh->locked) nr_neigh 475 net/netrom/nr_route.c nr_remove_neigh(nr_neigh); nr_neigh 511 net/netrom/nr_route.c struct nr_neigh *s; nr_neigh 709 net/netrom/nr_route.c struct nr_neigh *s, *nr_neigh = NULL; nr_neigh 716 net/netrom/nr_route.c nr_neigh = s; nr_neigh 722 net/netrom/nr_route.c if (nr_neigh == NULL) nr_neigh 725 net/netrom/nr_route.c nr_neigh->ax25 = NULL; nr_neigh 728 net/netrom/nr_route.c if (++nr_neigh->failed < sysctl_netrom_link_fails_count) { nr_neigh 729 net/netrom/nr_route.c nr_neigh_put(nr_neigh); nr_neigh 736 net/netrom/nr_route.c nr_node->routes[nr_node->which].neighbour == nr_neigh) nr_neigh 741 net/netrom/nr_route.c nr_neigh_put(nr_neigh); nr_neigh 751 net/netrom/nr_route.c struct nr_neigh *nr_neigh; nr_neigh 799 net/netrom/nr_route.c nr_neigh = nr_node->routes[nr_node->which].neighbour; nr_neigh 823 net/netrom/nr_route.c ax25s = nr_neigh->ax25; nr_neigh 824 net/netrom/nr_route.c nr_neigh->ax25 = ax25_send_frame(skb, 256, nr_neigh 826 net/netrom/nr_route.c &nr_neigh->callsign, nr_neigh 827 net/netrom/nr_route.c nr_neigh->digipeat, nr_neigh->dev); nr_neigh 832 net/netrom/nr_route.c ret = (nr_neigh->ax25 != NULL); nr_neigh 920 net/netrom/nr_route.c struct nr_neigh *nr_neigh; nr_neigh 922 net/netrom/nr_route.c nr_neigh = hlist_entry(v, struct nr_neigh, neigh_node); nr_neigh 924 net/netrom/nr_route.c nr_neigh->number, nr_neigh 925 net/netrom/nr_route.c ax2asc(buf, &nr_neigh->callsign), nr_neigh 926 net/netrom/nr_route.c nr_neigh->dev ? nr_neigh->dev->name : "???", nr_neigh 927 net/netrom/nr_route.c nr_neigh->quality, nr_neigh 928 net/netrom/nr_route.c nr_neigh->locked, nr_neigh 929 net/netrom/nr_route.c nr_neigh->count, nr_neigh 930 net/netrom/nr_route.c nr_neigh->failed); nr_neigh 932 net/netrom/nr_route.c if (nr_neigh->digipeat != NULL) { nr_neigh 933 net/netrom/nr_route.c for (i = 0; i < nr_neigh->digipeat->ndigi; i++) nr_neigh 935 net/netrom/nr_route.c ax2asc(buf, &nr_neigh->digipeat->calls[i])); nr_neigh 956 net/netrom/nr_route.c struct nr_neigh *s = NULL;