Lines Matching refs:rt
54 struct ipx_route *rt; in ipxrtr_add_route() local
58 rt = ipxrtr_lookup(network); in ipxrtr_add_route()
59 if (!rt) { in ipxrtr_add_route()
60 rt = kmalloc(sizeof(*rt), GFP_ATOMIC); in ipxrtr_add_route()
62 if (!rt) in ipxrtr_add_route()
65 atomic_set(&rt->refcnt, 1); in ipxrtr_add_route()
66 ipxrtr_hold(rt); in ipxrtr_add_route()
68 list_add(&rt->node, &ipx_routes); in ipxrtr_add_route()
76 rt->ir_net = network; in ipxrtr_add_route()
77 rt->ir_intrfc = intrfc; in ipxrtr_add_route()
79 memset(rt->ir_router_node, '\0', IPX_NODE_LEN); in ipxrtr_add_route()
80 rt->ir_routed = 0; in ipxrtr_add_route()
82 memcpy(rt->ir_router_node, node, IPX_NODE_LEN); in ipxrtr_add_route()
83 rt->ir_routed = 1; in ipxrtr_add_route()
88 ipxrtr_put(rt); in ipxrtr_add_route()
179 struct ipx_route *rt = NULL; in ipxrtr_route_packet() local
187 rt = ipxrtr_lookup(usipx->sipx_network); in ipxrtr_route_packet()
189 if (!rt) in ipxrtr_route_packet()
191 intrfc = rt->ir_intrfc; in ipxrtr_route_packet()
247 rc = ipxitf_send(intrfc, skb, (rt && rt->ir_routed) ? in ipxrtr_route_packet()
248 rt->ir_router_node : ipx->ipx_dest.node); in ipxrtr_route_packet()
251 if (rt) in ipxrtr_route_packet()
252 ipxrtr_put(rt); in ipxrtr_route_packet()
262 struct rtentry rt; /* Use these to behave like 'other' stacks */ in ipxrtr_ioctl() local
266 if (copy_from_user(&rt, arg, sizeof(rt))) in ipxrtr_ioctl()
269 sg = (struct sockaddr_ipx *)&rt.rt_gateway; in ipxrtr_ioctl()
270 st = (struct sockaddr_ipx *)&rt.rt_dst; in ipxrtr_ioctl()
273 if (!(rt.rt_flags & RTF_GATEWAY) || /* Direct routes are fixed */ in ipxrtr_ioctl()