Lines Matching refs:rtm
74 struct rt_msghdr *rtm);
390 struct rt_msghdr *rtm;
400 rtm = rtmsg(RTM_GET, dst, NULL);
401 if (rtm == NULL) {
405 addr = (struct sockaddr_in *)(rtm + 1);
409 (rtm->rtm_flags & RTF_GATEWAY) ||
462 struct rt_msghdr *rtm;
475 rtm = rtmsg(RTM_GET, dst, NULL);
476 if (rtm == NULL) {
480 addr = (struct sockaddr_in *)(rtm + 1);
492 !(rtm->rtm_flags & RTF_GATEWAY) &&
509 rtm->rtm_flags |= RTF_LLDATA;
538 struct rt_msghdr *rtm;
570 for (next = buf; next < lim; next += rtm->rtm_msglen) {
571 rtm = (struct rt_msghdr *)next;
572 sin2 = (struct sockaddr_in *)(rtm + 1);
581 (*action)(sdl, sin2, rtm);
593 struct sockaddr_in *addr, struct rt_msghdr *rtm)
641 if (rtm->rtm_rmx.rmx_expire == 0)
649 if ((expire_time = rtm->rtm_rmx.rmx_expire - tp.tv_sec) > 0)
656 if (rtm->rtm_flags & RTF_ANNOUNCE)
706 struct sockaddr_in *addr, struct rt_msghdr *rtm)
710 if (rtm->rtm_flags & RTF_PINNED)
751 struct rt_msghdr *rtm = &m_rtmsg.m_rtm;
769 rtm->rtm_flags = opts.flags;
770 rtm->rtm_version = RTM_VERSION;
776 rtm->rtm_addrs |= RTA_GATEWAY;
781 rtm->rtm_rmx.rmx_expire = opts.expire_time + tp.tv_sec;
783 rtm->rtm_inits = RTV_EXPIRE;
784 rtm->rtm_flags |= (RTF_HOST | RTF_STATIC | RTF_LLDATA);
787 rtm->rtm_addrs |= RTA_DST;
791 if ((s) != NULL && rtm->rtm_addrs & (w)) { \
800 rtm->rtm_msglen = cp - (char *)&m_rtmsg;
802 l = rtm->rtm_msglen;
803 rtm->rtm_seq = ++seq;
804 rtm->rtm_type = cmd;
813 } while (l > 0 && (rtm->rtm_type != cmd || rtm->rtm_seq != seq ||
814 rtm->rtm_pid != pid));
817 return (rtm);