• Home
  • Raw
  • Download

Lines Matching refs:rt

29 	struct x25_route *rt;  in x25_add_route()  local
36 rt = list_entry(entry, struct x25_route, node); in x25_add_route()
38 if (!memcmp(&rt->address, address, sigdigits) && in x25_add_route()
39 rt->sigdigits == sigdigits) in x25_add_route()
43 rt = kmalloc(sizeof(*rt), GFP_ATOMIC); in x25_add_route()
45 if (!rt) in x25_add_route()
48 strcpy(rt->address.x25_addr, "000000000000000"); in x25_add_route()
49 memcpy(rt->address.x25_addr, address->x25_addr, sigdigits); in x25_add_route()
51 rt->sigdigits = sigdigits; in x25_add_route()
52 rt->dev = dev; in x25_add_route()
53 refcount_set(&rt->refcnt, 1); in x25_add_route()
55 list_add(&rt->node, &x25_route_list); in x25_add_route()
69 static void __x25_remove_route(struct x25_route *rt) in __x25_remove_route() argument
71 if (rt->node.next) { in __x25_remove_route()
72 list_del(&rt->node); in __x25_remove_route()
73 x25_route_put(rt); in __x25_remove_route()
80 struct x25_route *rt; in x25_del_route() local
87 rt = list_entry(entry, struct x25_route, node); in x25_del_route()
89 if (!memcmp(&rt->address, address, sigdigits) && in x25_del_route()
90 rt->sigdigits == sigdigits && rt->dev == dev) { in x25_del_route()
91 __x25_remove_route(rt); in x25_del_route()
106 struct x25_route *rt; in x25_route_device_down() local
112 rt = list_entry(entry, struct x25_route, node); in x25_route_device_down()
114 if (rt->dev == dev) in x25_route_device_down()
115 __x25_remove_route(rt); in x25_route_device_down()
151 struct x25_route *rt, *use = NULL; in x25_get_route() local
157 rt = list_entry(entry, struct x25_route, node); in x25_get_route()
159 if (!memcmp(&rt->address, addr, rt->sigdigits)) { in x25_get_route()
161 use = rt; in x25_get_route()
162 else if (rt->sigdigits > use->sigdigits) in x25_get_route()
163 use = rt; in x25_get_route()
179 struct x25_route_struct rt; in x25_route_ioctl() local
187 if (copy_from_user(&rt, arg, sizeof(rt))) in x25_route_ioctl()
191 if (rt.sigdigits > 15) in x25_route_ioctl()
194 dev = x25_dev_get(rt.device); in x25_route_ioctl()
199 rc = x25_add_route(&rt.address, rt.sigdigits, dev); in x25_route_ioctl()
201 rc = x25_del_route(&rt.address, rt.sigdigits, dev); in x25_route_ioctl()
212 struct x25_route *rt; in x25_route_free() local
217 rt = list_entry(entry, struct x25_route, node); in x25_route_free()
218 __x25_remove_route(rt); in x25_route_free()