Lines Matching defs:rt
29 struct x25_route *rt;
34 list_for_each_entry(rt, &x25_route_list, node) {
35 if (!memcmp(&rt->address, address, sigdigits) &&
36 rt->sigdigits == sigdigits)
40 rt = kmalloc(sizeof(*rt), GFP_ATOMIC);
42 if (!rt)
45 strcpy(rt->address.x25_addr, "000000000000000");
46 memcpy(rt->address.x25_addr, address->x25_addr, sigdigits);
48 rt->sigdigits = sigdigits;
49 rt->dev = dev;
50 refcount_set(&rt->refcnt, 1);
52 list_add(&rt->node, &x25_route_list);
61 * @rt: route to remove
66 static void __x25_remove_route(struct x25_route *rt)
68 if (rt->node.next) {
69 list_del(&rt->node);
70 x25_route_put(rt);
77 struct x25_route *rt;
82 list_for_each_entry(rt, &x25_route_list, node) {
83 if (!memcmp(&rt->address, address, sigdigits) &&
84 rt->sigdigits == sigdigits && rt->dev == dev) {
85 __x25_remove_route(rt);
100 struct x25_route *rt;
106 rt = list_entry(entry, struct x25_route, node);
108 if (rt->dev == dev)
109 __x25_remove_route(rt);
137 struct x25_route *rt, *use = NULL;
141 list_for_each_entry(rt, &x25_route_list, node) {
142 if (!memcmp(&rt->address, addr, rt->sigdigits)) {
144 use = rt;
145 else if (rt->sigdigits > use->sigdigits)
146 use = rt;
162 struct x25_route_struct rt;
170 if (copy_from_user(&rt, arg, sizeof(rt)))
174 if (rt.sigdigits > 15)
177 dev = x25_dev_get(rt.device);
182 rc = x25_add_route(&rt.address, rt.sigdigits, dev);
184 rc = x25_del_route(&rt.address, rt.sigdigits, dev);
195 struct x25_route *rt;
200 rt = list_entry(entry, struct x25_route, node);
201 __x25_remove_route(rt);