rose_route 118 include/net/rose.h struct rose_route *next; rose_route 214 include/net/rose.h struct rose_route *rose_route_free_lci(unsigned int, struct rose_neigh *); rose_route 42 net/rose/rose_route.c static struct rose_route *rose_route_list; rose_route 51 net/rose/rose_route.c static int __must_check rose_add_node(struct rose_route_struct *rose_route, rose_route 63 net/rose/rose_route.c if ((rose_node->mask == rose_route->mask) && rose_route 64 net/rose/rose_route.c (rosecmpm(&rose_route->address, &rose_node->address, rose_route 65 net/rose/rose_route.c rose_route->mask) == 0)) rose_route 77 net/rose/rose_route.c if (ax25cmp(&rose_route->neighbour, rose_route 91 net/rose/rose_route.c rose_neigh->callsign = rose_route->neighbour; rose_route 107 net/rose/rose_route.c if (rose_route->ndigis != 0) { rose_route 116 net/rose/rose_route.c rose_neigh->digipeat->ndigi = rose_route->ndigis; rose_route 119 net/rose/rose_route.c for (i = 0; i < rose_route->ndigis; i++) { rose_route 121 net/rose/rose_route.c rose_route->digipeaters[i]; rose_route 142 net/rose/rose_route.c if (rose_tmpn->mask > rose_route->mask) { rose_route 157 net/rose/rose_route.c rose_node->address = rose_route->address; rose_route 158 net/rose/rose_route.c rose_node->mask = rose_route->mask; rose_route 261 net/rose/rose_route.c static void rose_remove_route(struct rose_route *rose_route) rose_route 263 net/rose/rose_route.c struct rose_route *s; rose_route 265 net/rose/rose_route.c if (rose_route->neigh1 != NULL) rose_route 266 net/rose/rose_route.c rose_route->neigh1->use--; rose_route 268 net/rose/rose_route.c if (rose_route->neigh2 != NULL) rose_route 269 net/rose/rose_route.c rose_route->neigh2->use--; rose_route 271 net/rose/rose_route.c if ((s = rose_route_list) == rose_route) { rose_route 272 net/rose/rose_route.c rose_route_list = rose_route->next; rose_route 273 net/rose/rose_route.c kfree(rose_route); rose_route 278 net/rose/rose_route.c if (s->next == rose_route) { rose_route 279 net/rose/rose_route.c s->next = rose_route->next; rose_route 280 net/rose/rose_route.c kfree(rose_route); rose_route 292 net/rose/rose_route.c static int rose_del_node(struct rose_route_struct *rose_route, rose_route 304 net/rose/rose_route.c if ((rose_node->mask == rose_route->mask) && rose_route 305 net/rose/rose_route.c (rosecmpm(&rose_route->address, &rose_node->address, rose_route 306 net/rose/rose_route.c rose_route->mask) == 0)) rose_route 318 net/rose/rose_route.c if (ax25cmp(&rose_route->neighbour, rose_route 532 net/rose/rose_route.c struct rose_route *s, *rose_route; rose_route 535 net/rose/rose_route.c rose_route = rose_route_list; rose_route 536 net/rose/rose_route.c while (rose_route != NULL) { rose_route 537 net/rose/rose_route.c s = rose_route; rose_route 538 net/rose/rose_route.c rose_route = rose_route->next; rose_route 659 net/rose/rose_route.c struct rose_route *rose_route_free_lci(unsigned int lci, struct rose_neigh *neigh) rose_route 661 net/rose/rose_route.c struct rose_route *rose_route; rose_route 663 net/rose/rose_route.c for (rose_route = rose_route_list; rose_route != NULL; rose_route = rose_route->next) rose_route 664 net/rose/rose_route.c if ((rose_route->neigh1 == neigh && rose_route->lci1 == lci) || rose_route 665 net/rose/rose_route.c (rose_route->neigh2 == neigh && rose_route->lci2 == lci)) rose_route 666 net/rose/rose_route.c return rose_route; rose_route 726 net/rose/rose_route.c struct rose_route_struct rose_route; rose_route 732 net/rose/rose_route.c if (copy_from_user(&rose_route, arg, sizeof(struct rose_route_struct))) rose_route 734 net/rose/rose_route.c if ((dev = rose_ax25_dev_find(rose_route.device)) == NULL) rose_route 736 net/rose/rose_route.c if (rose_dev_exists(&rose_route.address)) /* Can't add routes to ourself */ rose_route 738 net/rose/rose_route.c if (rose_route.mask > 10) /* Mask can't be more than 10 digits */ rose_route 740 net/rose/rose_route.c if (rose_route.ndigis > AX25_MAX_DIGIS) rose_route 742 net/rose/rose_route.c err = rose_add_node(&rose_route, dev); rose_route 746 net/rose/rose_route.c if (copy_from_user(&rose_route, arg, sizeof(struct rose_route_struct))) rose_route 748 net/rose/rose_route.c if ((dev = rose_ax25_dev_find(rose_route.device)) == NULL) rose_route 750 net/rose/rose_route.c err = rose_del_node(&rose_route, dev); rose_route 765 net/rose/rose_route.c struct rose_route *rose_route, *s; rose_route 776 net/rose/rose_route.c rose_route = rose_route_list; rose_route 778 net/rose/rose_route.c while (rose_route != NULL) { rose_route 779 net/rose/rose_route.c if ((rose_route->neigh1 == rose_neigh && rose_route->neigh2 == rose_neigh) || rose_route 780 net/rose/rose_route.c (rose_route->neigh1 == rose_neigh && rose_route->neigh2 == NULL) || rose_route 781 net/rose/rose_route.c (rose_route->neigh2 == rose_neigh && rose_route->neigh1 == NULL)) { rose_route 782 net/rose/rose_route.c s = rose_route->next; rose_route 783 net/rose/rose_route.c rose_remove_route(rose_route); rose_route 784 net/rose/rose_route.c rose_route = s; rose_route 788 net/rose/rose_route.c if (rose_route->neigh1 == rose_neigh) { rose_route 789 net/rose/rose_route.c rose_route->neigh1->use--; rose_route 790 net/rose/rose_route.c rose_route->neigh1 = NULL; rose_route 791 net/rose/rose_route.c rose_transmit_clear_request(rose_route->neigh2, rose_route->lci2, ROSE_OUT_OF_ORDER, 0); rose_route 794 net/rose/rose_route.c if (rose_route->neigh2 == rose_neigh) { rose_route 795 net/rose/rose_route.c rose_route->neigh2->use--; rose_route 796 net/rose/rose_route.c rose_route->neigh2 = NULL; rose_route 797 net/rose/rose_route.c rose_transmit_clear_request(rose_route->neigh1, rose_route->lci1, ROSE_OUT_OF_ORDER, 0); rose_route 800 net/rose/rose_route.c rose_route = rose_route->next; rose_route 855 net/rose/rose_route.c struct rose_route *rose_route; rose_route 961 net/rose/rose_route.c rose_route = rose_route_list; rose_route 962 net/rose/rose_route.c while (rose_route != NULL) { rose_route 963 net/rose/rose_route.c if (rose_route->lci1 == lci && rose_route 964 net/rose/rose_route.c rose_route->neigh1 == rose_neigh) { rose_route 967 net/rose/rose_route.c rose_remove_route(rose_route); rose_route 969 net/rose/rose_route.c } else if (rose_route->neigh2 != NULL) { rose_route 971 net/rose/rose_route.c skb->data[0] |= (rose_route->lci2 >> 8) & 0x0F; rose_route 972 net/rose/rose_route.c skb->data[1] = (rose_route->lci2 >> 0) & 0xFF; rose_route 973 net/rose/rose_route.c rose_transmit_link(skb, rose_route->neigh2); rose_route 975 net/rose/rose_route.c rose_remove_route(rose_route); rose_route 980 net/rose/rose_route.c rose_remove_route(rose_route); rose_route 984 net/rose/rose_route.c if (rose_route->lci2 == lci && rose_route 985 net/rose/rose_route.c rose_route->neigh2 == rose_neigh) { rose_route 988 net/rose/rose_route.c rose_remove_route(rose_route); rose_route 990 net/rose/rose_route.c } else if (rose_route->neigh1 != NULL) { rose_route 992 net/rose/rose_route.c skb->data[0] |= (rose_route->lci1 >> 8) & 0x0F; rose_route 993 net/rose/rose_route.c skb->data[1] = (rose_route->lci1 >> 0) & 0xFF; rose_route 994 net/rose/rose_route.c rose_transmit_link(skb, rose_route->neigh1); rose_route 996 net/rose/rose_route.c rose_remove_route(rose_route); rose_route 1001 net/rose/rose_route.c rose_remove_route(rose_route); rose_route 1005 net/rose/rose_route.c rose_route = rose_route->next; rose_route 1030 net/rose/rose_route.c rose_route = rose_route_list; rose_route 1031 net/rose/rose_route.c while (rose_route != NULL) { rose_route 1032 net/rose/rose_route.c if (rose_route->rand == facilities.rand && rose_route 1033 net/rose/rose_route.c rosecmp(src_addr, &rose_route->src_addr) == 0 && rose_route 1034 net/rose/rose_route.c ax25cmp(&facilities.dest_call, &rose_route->src_call) == 0 && rose_route 1035 net/rose/rose_route.c ax25cmp(&facilities.source_call, &rose_route->dest_call) == 0) { rose_route 1039 net/rose/rose_route.c rose_route = rose_route->next; rose_route 1052 net/rose/rose_route.c if ((rose_route = kmalloc(sizeof(*rose_route), GFP_ATOMIC)) == NULL) { rose_route 1057 net/rose/rose_route.c rose_route->lci1 = lci; rose_route 1058 net/rose/rose_route.c rose_route->src_addr = *src_addr; rose_route 1059 net/rose/rose_route.c rose_route->dest_addr = *dest_addr; rose_route 1060 net/rose/rose_route.c rose_route->src_call = facilities.dest_call; rose_route 1061 net/rose/rose_route.c rose_route->dest_call = facilities.source_call; rose_route 1062 net/rose/rose_route.c rose_route->rand = facilities.rand; rose_route 1063 net/rose/rose_route.c rose_route->neigh1 = rose_neigh; rose_route 1064 net/rose/rose_route.c rose_route->lci2 = new_lci; rose_route 1065 net/rose/rose_route.c rose_route->neigh2 = new_neigh; rose_route 1067 net/rose/rose_route.c rose_route->neigh1->use++; rose_route 1068 net/rose/rose_route.c rose_route->neigh2->use++; rose_route 1070 net/rose/rose_route.c rose_route->next = rose_route_list; rose_route 1071 net/rose/rose_route.c rose_route_list = rose_route; rose_route 1074 net/rose/rose_route.c skb->data[0] |= (rose_route->lci2 >> 8) & 0x0F; rose_route 1075 net/rose/rose_route.c skb->data[1] = (rose_route->lci2 >> 0) & 0xFF; rose_route 1077 net/rose/rose_route.c rose_transmit_link(skb, rose_route->neigh2); rose_route 1229 net/rose/rose_route.c struct rose_route *rose_route; rose_route 1236 net/rose/rose_route.c for (rose_route = rose_route_list; rose_route && i < *pos; rose_route 1237 net/rose/rose_route.c rose_route = rose_route->next, ++i); rose_route 1239 net/rose/rose_route.c return (i == *pos) ? rose_route : NULL; rose_route 1247 net/rose/rose_route.c : ((struct rose_route *)v)->next; rose_route 1264 net/rose/rose_route.c struct rose_route *rose_route = v; rose_route 1266 net/rose/rose_route.c if (rose_route->neigh1) rose_route 1269 net/rose/rose_route.c rose_route->lci1, rose_route 1270 net/rose/rose_route.c rose2asc(rsbuf, &rose_route->src_addr), rose_route 1271 net/rose/rose_route.c ax2asc(buf, &rose_route->src_call), rose_route 1272 net/rose/rose_route.c rose_route->neigh1->number); rose_route 1277 net/rose/rose_route.c if (rose_route->neigh2) rose_route 1280 net/rose/rose_route.c rose_route->lci2, rose_route 1281 net/rose/rose_route.c rose2asc(rsbuf, &rose_route->dest_addr), rose_route 1282 net/rose/rose_route.c ax2asc(buf, &rose_route->dest_call), rose_route 1283 net/rose/rose_route.c rose_route->neigh2->number); rose_route 1306 net/rose/rose_route.c struct rose_route *u, *rose_route = rose_route_list; rose_route 1322 net/rose/rose_route.c while (rose_route != NULL) { rose_route 1323 net/rose/rose_route.c u = rose_route; rose_route 1324 net/rose/rose_route.c rose_route = rose_route->next;