Lines Matching refs:ax25_rt

47 	ax25_route *s, *t, *ax25_rt;  in ax25_rt_device_down()  local
50 ax25_rt = ax25_route_list; in ax25_rt_device_down()
51 while (ax25_rt != NULL) { in ax25_rt_device_down()
52 s = ax25_rt; in ax25_rt_device_down()
53 ax25_rt = ax25_rt->next; in ax25_rt_device_down()
77 ax25_route *ax25_rt; in ax25_rt_add() local
88 ax25_rt = ax25_route_list; in ax25_rt_add()
89 while (ax25_rt != NULL) { in ax25_rt_add()
90 if (ax25cmp(&ax25_rt->callsign, &route->dest_addr) == 0 && in ax25_rt_add()
91 ax25_rt->dev == ax25_dev->dev) { in ax25_rt_add()
92 kfree(ax25_rt->digipeat); in ax25_rt_add()
93 ax25_rt->digipeat = NULL; in ax25_rt_add()
95 if ((ax25_rt->digipeat = kmalloc(sizeof(ax25_digi), GFP_ATOMIC)) == NULL) { in ax25_rt_add()
99 ax25_rt->digipeat->lastrepeat = -1; in ax25_rt_add()
100 ax25_rt->digipeat->ndigi = route->digi_count; in ax25_rt_add()
102 ax25_rt->digipeat->repeated[i] = 0; in ax25_rt_add()
103 ax25_rt->digipeat->calls[i] = route->digi_addr[i]; in ax25_rt_add()
109 ax25_rt = ax25_rt->next; in ax25_rt_add()
112 if ((ax25_rt = kmalloc(sizeof(ax25_route), GFP_ATOMIC)) == NULL) { in ax25_rt_add()
117 atomic_set(&ax25_rt->refcount, 1); in ax25_rt_add()
118 ax25_rt->callsign = route->dest_addr; in ax25_rt_add()
119 ax25_rt->dev = ax25_dev->dev; in ax25_rt_add()
120 ax25_rt->digipeat = NULL; in ax25_rt_add()
121 ax25_rt->ip_mode = ' '; in ax25_rt_add()
123 if ((ax25_rt->digipeat = kmalloc(sizeof(ax25_digi), GFP_ATOMIC)) == NULL) { in ax25_rt_add()
125 kfree(ax25_rt); in ax25_rt_add()
128 ax25_rt->digipeat->lastrepeat = -1; in ax25_rt_add()
129 ax25_rt->digipeat->ndigi = route->digi_count; in ax25_rt_add()
131 ax25_rt->digipeat->repeated[i] = 0; in ax25_rt_add()
132 ax25_rt->digipeat->calls[i] = route->digi_addr[i]; in ax25_rt_add()
135 ax25_rt->next = ax25_route_list; in ax25_rt_add()
136 ax25_route_list = ax25_rt; in ax25_rt_add()
142 void __ax25_put_route(ax25_route *ax25_rt) in __ax25_put_route() argument
144 kfree(ax25_rt->digipeat); in __ax25_put_route()
145 kfree(ax25_rt); in __ax25_put_route()
150 ax25_route *s, *t, *ax25_rt; in ax25_rt_del() local
158 ax25_rt = ax25_route_list; in ax25_rt_del()
159 while (ax25_rt != NULL) { in ax25_rt_del()
160 s = ax25_rt; in ax25_rt_del()
161 ax25_rt = ax25_rt->next; in ax25_rt_del()
185 ax25_route *ax25_rt; in ax25_rt_opt() local
194 ax25_rt = ax25_route_list; in ax25_rt_opt()
195 while (ax25_rt != NULL) { in ax25_rt_opt()
196 if (ax25_rt->dev == ax25_dev->dev && in ax25_rt_opt()
197 ax25cmp(&rt_option->dest_addr, &ax25_rt->callsign) == 0) { in ax25_rt_opt()
204 ax25_rt->ip_mode = rt_option->arg; in ax25_rt_opt()
216 ax25_rt = ax25_rt->next; in ax25_rt_opt()
255 struct ax25_route *ax25_rt; in ax25_rt_seq_start() local
262 for (ax25_rt = ax25_route_list; ax25_rt != NULL; ax25_rt = ax25_rt->next) { in ax25_rt_seq_start()
264 return ax25_rt; in ax25_rt_seq_start()
291 struct ax25_route *ax25_rt = v; in ax25_rt_seq_show() local
295 if (ax25cmp(&ax25_rt->callsign, &null_ax25_address) == 0) in ax25_rt_seq_show()
298 callsign = ax2asc(buf, &ax25_rt->callsign); in ax25_rt_seq_show()
302 ax25_rt->dev ? ax25_rt->dev->name : "???"); in ax25_rt_seq_show()
304 switch (ax25_rt->ip_mode) { in ax25_rt_seq_show()
316 if (ax25_rt->digipeat != NULL) in ax25_rt_seq_show()
317 for (i = 0; i < ax25_rt->digipeat->ndigi; i++) in ax25_rt_seq_show()
319 ax2asc(buf, &ax25_rt->digipeat->calls[i])); in ax25_rt_seq_show()
357 ax25_route *ax25_rt; in ax25_get_route() local
364 for (ax25_rt = ax25_route_list; ax25_rt != NULL; ax25_rt = ax25_rt->next) { in ax25_get_route()
366 if (ax25cmp(&ax25_rt->callsign, addr) == 0 && ax25_rt->dev != NULL) in ax25_get_route()
367 ax25_spe_rt = ax25_rt; in ax25_get_route()
368 if (ax25cmp(&ax25_rt->callsign, &null_ax25_address) == 0 && ax25_rt->dev != NULL) in ax25_get_route()
369 ax25_def_rt = ax25_rt; in ax25_get_route()
371 if (ax25cmp(&ax25_rt->callsign, addr) == 0 && ax25_rt->dev == dev) in ax25_get_route()
372 ax25_spe_rt = ax25_rt; in ax25_get_route()
373 if (ax25cmp(&ax25_rt->callsign, &null_ax25_address) == 0 && ax25_rt->dev == dev) in ax25_get_route()
374 ax25_def_rt = ax25_rt; in ax25_get_route()
378 ax25_rt = ax25_def_rt; in ax25_get_route()
380 ax25_rt = ax25_spe_rt; in ax25_get_route()
382 if (ax25_rt != NULL) in ax25_get_route()
383 ax25_hold_route(ax25_rt); in ax25_get_route()
387 return ax25_rt; in ax25_get_route()
414 ax25_route *ax25_rt; in ax25_rt_autobind() local
417 if ((ax25_rt = ax25_get_route(addr, NULL)) == NULL) in ax25_rt_autobind()
420 if ((ax25->ax25_dev = ax25_dev_ax25dev(ax25_rt->dev)) == NULL) { in ax25_rt_autobind()
437 if (ax25_rt->digipeat != NULL) { in ax25_rt_autobind()
438 ax25->digipeat = kmemdup(ax25_rt->digipeat, sizeof(ax25_digi), in ax25_rt_autobind()
454 ax25_put_route(ax25_rt); in ax25_rt_autobind()
494 ax25_route *s, *ax25_rt = ax25_route_list; in ax25_rt_free() local
497 while (ax25_rt != NULL) { in ax25_rt_free()
498 s = ax25_rt; in ax25_rt_free()
499 ax25_rt = ax25_rt->next; in ax25_rt_free()