• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/net/rose/

Lines Matching defs:rose_neigh

44 static struct rose_neigh *rose_neigh_list;
49 struct rose_neigh *rose_loopback_neigh;
59 struct rose_neigh *rose_neigh;
79 rose_neigh = rose_neigh_list;
80 while (rose_neigh != NULL) {
82 &rose_neigh->callsign) == 0 &&
83 rose_neigh->dev == dev)
85 rose_neigh = rose_neigh->next;
88 if (rose_neigh == NULL) {
89 rose_neigh = kmalloc(sizeof(*rose_neigh), GFP_ATOMIC);
90 if (rose_neigh == NULL) {
95 rose_neigh->callsign = rose_route->neighbour;
96 rose_neigh->digipeat = NULL;
97 rose_neigh->ax25 = NULL;
98 rose_neigh->dev = dev;
99 rose_neigh->count = 0;
100 rose_neigh->use = 0;
101 rose_neigh->dce_mode = 0;
102 rose_neigh->loopback = 0;
103 rose_neigh->number = rose_neigh_no++;
104 rose_neigh->restarted = 0;
106 skb_queue_head_init(&rose_neigh->queue);
108 init_timer(&rose_neigh->ftimer);
109 init_timer(&rose_neigh->t0timer);
112 rose_neigh->digipeat =
114 if (rose_neigh->digipeat == NULL) {
115 kfree(rose_neigh);
120 rose_neigh->digipeat->ndigi = rose_route->ndigis;
121 rose_neigh->digipeat->lastrepeat = -1;
124 rose_neigh->digipeat->calls[i] =
126 rose_neigh->digipeat->repeated[i] = 0;
130 rose_neigh->next = rose_neigh_list;
131 rose_neigh_list = rose_neigh;
165 rose_node->neighbour[0] = rose_neigh;
184 rose_neigh->count++;
191 rose_node->neighbour[rose_node->count] = rose_neigh;
193 rose_neigh->count++;
230 static void rose_remove_neigh(struct rose_neigh *rose_neigh)
232 struct rose_neigh *s;
234 rose_stop_ftimer(rose_neigh);
235 rose_stop_t0timer(rose_neigh);
237 skb_queue_purge(&rose_neigh->queue);
239 if ((s = rose_neigh_list) == rose_neigh) {
240 rose_neigh_list = rose_neigh->next;
241 if (rose_neigh->ax25)
242 ax25_cb_put(rose_neigh->ax25);
243 kfree(rose_neigh->digipeat);
244 kfree(rose_neigh);
249 if (s->next == rose_neigh) {
250 s->next = rose_neigh->next;
251 if (rose_neigh->ax25)
252 ax25_cb_put(rose_neigh->ax25);
253 kfree(rose_neigh->digipeat);
254 kfree(rose_neigh);
300 struct rose_neigh *rose_neigh;
320 rose_neigh = rose_neigh_list;
321 while (rose_neigh != NULL) {
323 &rose_neigh->callsign) == 0 &&
324 rose_neigh->dev == dev)
326 rose_neigh = rose_neigh->next;
329 if (rose_neigh == NULL) {
335 if (rose_node->neighbour[i] == rose_neigh) {
336 rose_neigh->count--;
338 if (rose_neigh->count == 0 && rose_neigh->use == 0)
339 rose_remove_neigh(rose_neigh);
374 struct rose_neigh *sn;
376 rose_loopback_neigh = kmalloc(sizeof(struct rose_neigh), GFP_KERNEL);
482 struct rose_neigh *s, *rose_neigh;
488 rose_neigh = rose_neigh_list;
489 while (rose_neigh != NULL) {
490 s = rose_neigh;
491 rose_neigh = rose_neigh->next;
536 struct rose_neigh *s, *rose_neigh;
542 rose_neigh = rose_neigh_list;
552 while (rose_neigh != NULL) {
553 s = rose_neigh;
554 rose_neigh = rose_neigh->next;
641 struct rose_route *rose_route_free_lci(unsigned int lci, struct rose_neigh *neigh)
656 struct rose_neigh *rose_get_neigh(rose_address *addr, unsigned char *cause,
659 struct rose_neigh *res = NULL;
741 static void rose_del_route_by_neigh(struct rose_neigh *rose_neigh)
745 rose_neigh->restarted = 0;
747 rose_stop_t0timer(rose_neigh);
748 rose_start_ftimer(rose_neigh);
750 skb_queue_purge(&rose_neigh->queue);
757 if ((rose_route->neigh1 == rose_neigh && rose_route->neigh2 == rose_neigh) ||
758 (rose_route->neigh1 == rose_neigh && rose_route->neigh2 == NULL) ||
759 (rose_route->neigh2 == rose_neigh && rose_route->neigh1 == NULL)) {
766 if (rose_route->neigh1 == rose_neigh) {
772 if (rose_route->neigh2 == rose_neigh) {
790 struct rose_neigh *rose_neigh;
793 rose_neigh = rose_neigh_list;
794 while (rose_neigh != NULL) {
795 if (rose_neigh->ax25 == ax25)
797 rose_neigh = rose_neigh->next;
800 if (rose_neigh != NULL) {
801 rose_neigh->ax25 = NULL;
804 rose_del_route_by_neigh(rose_neigh);
805 rose_kill_by_neigh(rose_neigh);
816 struct rose_neigh *rose_neigh;
818 for (rose_neigh = rose_neigh_list; rose_neigh != NULL; rose_neigh = rose_neigh->next) {
819 if (rose_neigh->dev == dev) {
820 rose_del_route_by_neigh(rose_neigh);
821 rose_kill_by_neigh(rose_neigh);
831 struct rose_neigh *rose_neigh, *new_neigh;
852 rose_neigh = rose_neigh_list;
853 while (rose_neigh != NULL) {
854 if (ax25cmp(&ax25->dest_addr, &rose_neigh->callsign) == 0 &&
855 ax25->ax25_dev->dev == rose_neigh->dev)
857 rose_neigh = rose_neigh->next;
860 if (rose_neigh == NULL) {
869 rose_stop_ftimer(rose_neigh);
876 rose_link_rx_restart(skb, rose_neigh, frametype);
883 if ((sk = rose_find_socket(lci, rose_neigh)) != NULL) {
915 res = rose_rx_call_request(skb, dev, rose_neigh, lci);
921 rose_transmit_clear_request(rose_neigh, lci, ROSE_NOT_OBTAINABLE, 0);
931 rose_route->neigh1 == rose_neigh) {
952 rose_route->neigh2 == rose_neigh) {
991 rose_transmit_clear_request(rose_neigh, lci, ROSE_INVALID_FACILITY, 76);
1004 rose_transmit_clear_request(rose_neigh, lci, ROSE_NOT_OBTAINABLE, 120);
1011 rose_transmit_clear_request(rose_neigh, lci, cause, diagnostic);
1016 rose_transmit_clear_request(rose_neigh, lci, ROSE_NETWORK_CONGESTION, 71);
1021 rose_transmit_clear_request(rose_neigh, lci, ROSE_NETWORK_CONGESTION, 120);
1031 rose_route->neigh1 = rose_neigh;
1139 struct rose_neigh *rose_neigh;
1146 for (rose_neigh = rose_neigh_list; rose_neigh && i < *pos;
1147 rose_neigh = rose_neigh->next, ++i);
1149 return (i == *pos) ? rose_neigh : NULL;
1157 : ((struct rose_neigh *)v)->next;
1175 struct rose_neigh *rose_neigh = v;
1177 /* if (!rose_neigh->loopback) { */
1179 rose_neigh->number,
1180 (rose_neigh->loopback) ? "RSLOOP-0" : ax2asc(buf, &rose_neigh->callsign),
1181 rose_neigh->dev ? rose_neigh->dev->name : "???",
1182 rose_neigh->count,
1183 rose_neigh->use,
1184 (rose_neigh->dce_mode) ? "DCE" : "DTE",
1185 (rose_neigh->restarted) ? "yes" : "no",
1186 ax25_display_timer(&rose_neigh->t0timer) / HZ,
1187 ax25_display_timer(&rose_neigh->ftimer) / HZ);
1189 if (rose_neigh->digipeat != NULL) {
1190 for (i = 0; i < rose_neigh->digipeat->ndigi; i++)
1191 seq_printf(seq, " %s", ax2asc(buf, &rose_neigh->digipeat->calls[i]));
1313 struct rose_neigh *s, *rose_neigh = rose_neigh_list;
1317 while (rose_neigh != NULL) {
1318 s = rose_neigh;
1319 rose_neigh = rose_neigh->next;