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