Lines Matching refs:rt
34 struct x25_route *rt; in x25_add_route() local
41 rt = list_entry(entry, struct x25_route, node); in x25_add_route()
43 if (!memcmp(&rt->address, address, sigdigits) && in x25_add_route()
44 rt->sigdigits == sigdigits) in x25_add_route()
48 rt = kmalloc(sizeof(*rt), GFP_ATOMIC); in x25_add_route()
50 if (!rt) in x25_add_route()
53 strcpy(rt->address.x25_addr, "000000000000000"); in x25_add_route()
54 memcpy(rt->address.x25_addr, address->x25_addr, sigdigits); in x25_add_route()
56 rt->sigdigits = sigdigits; in x25_add_route()
57 rt->dev = dev; in x25_add_route()
58 atomic_set(&rt->refcnt, 1); in x25_add_route()
60 list_add(&rt->node, &x25_route_list); in x25_add_route()
74 static void __x25_remove_route(struct x25_route *rt) in __x25_remove_route() argument
76 if (rt->node.next) { in __x25_remove_route()
77 list_del(&rt->node); in __x25_remove_route()
78 x25_route_put(rt); in __x25_remove_route()
85 struct x25_route *rt; in x25_del_route() local
92 rt = list_entry(entry, struct x25_route, node); in x25_del_route()
94 if (!memcmp(&rt->address, address, sigdigits) && in x25_del_route()
95 rt->sigdigits == sigdigits && rt->dev == dev) { in x25_del_route()
96 __x25_remove_route(rt); in x25_del_route()
111 struct x25_route *rt; in x25_route_device_down() local
117 rt = list_entry(entry, struct x25_route, node); in x25_route_device_down()
119 if (rt->dev == dev) in x25_route_device_down()
120 __x25_remove_route(rt); in x25_route_device_down()
156 struct x25_route *rt, *use = NULL; in x25_get_route() local
162 rt = list_entry(entry, struct x25_route, node); in x25_get_route()
164 if (!memcmp(&rt->address, addr, rt->sigdigits)) { in x25_get_route()
166 use = rt; in x25_get_route()
167 else if (rt->sigdigits > use->sigdigits) in x25_get_route()
168 use = rt; in x25_get_route()
184 struct x25_route_struct rt; in x25_route_ioctl() local
192 if (copy_from_user(&rt, arg, sizeof(rt))) in x25_route_ioctl()
196 if (rt.sigdigits > 15) in x25_route_ioctl()
199 dev = x25_dev_get(rt.device); in x25_route_ioctl()
204 rc = x25_add_route(&rt.address, rt.sigdigits, dev); in x25_route_ioctl()
206 rc = x25_del_route(&rt.address, rt.sigdigits, dev); in x25_route_ioctl()
217 struct x25_route *rt; in x25_route_free() local
222 rt = list_entry(entry, struct x25_route, node); in x25_route_free()
223 __x25_remove_route(rt); in x25_route_free()