Home | History | Annotate | Download | only in dhcpcd

Lines Matching refs:rt

234 	struct rt rt;
253 rt.iface = NULL;
254 rt.dest.s_addr = INADDR_ANY;
255 rt.net.s_addr = INADDR_ANY;
256 rt.gate.s_addr = INADDR_ANY;
257 rt.next = NULL;
262 memcpy(&rt.dest.s_addr, RTA_DATA(rta),
263 sizeof(rt.dest.s_addr));
266 memcpy(&rt.gate.s_addr, RTA_DATA(rta),
267 sizeof(rt.gate.s_addr));
272 rt.iface = find_interface(ifn);
280 if (rt.iface != NULL) {
281 if (metric == rt.iface->metric) {
282 inet_cidrtoaddr(rtm->rtm_dst_len, &rt.net);
283 route_deleted(&rt);
488 struct rtmsg rt;
531 if_route(const struct rt *rt, int action)
537 if (!(ifindex = if_nametoindex(rt->iface->name))) {
552 nlm->rt.rtm_family = AF_INET;
553 nlm->rt.rtm_table = RT_TABLE_MAIN;
556 nlm->rt.rtm_scope = RT_SCOPE_NOWHERE;
560 if (rt->dest.s_addr ==
561 (rt->iface->addr.s_addr & rt->iface->net.s_addr) &&
562 rt->net.s_addr == rt->iface->net.s_addr)
563 nlm->rt.rtm_protocol = RTPROT_KERNEL;
565 nlm->rt.rtm_protocol = RTPROT_BOOT;
566 if (rt->gate.s_addr == INADDR_ANY ||
567 (rt->gate.s_addr == rt->dest.s_addr &&
568 rt->net.s_addr == INADDR_BROADCAST))
569 nlm->rt.rtm_scope = RT_SCOPE_LINK;
571 nlm->rt.rtm_scope = RT_SCOPE_UNIVERSE;
572 nlm->rt.rtm_type = RTN_UNICAST;
575 nlm->rt.rtm_dst_len = inet_ntocidr(rt->net);
577 &rt->dest.s_addr, sizeof(rt->dest.s_addr));
578 if (nlm->rt.rtm_protocol == RTPROT_KERNEL) {
580 &rt->iface->addr.s_addr, sizeof(rt->iface->addr.s_addr));
583 if (rt->dest.s_addr != rt->gate.s_addr ||
584 rt->net.s_addr != INADDR_BROADCAST)
586 &rt->gate.s_addr, sizeof(rt->gate.s_addr));
589 add_attr_32(&nlm->hdr, sizeof(*nlm), RTA_PRIORITY, rt->metric);