Lines Matching defs:rtm
73 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) ||
463 struct rt_msghdr *rtm;
476 rtm = rtmsg(RTM_GET, dst, NULL);
477 if (rtm == NULL) {
481 addr = (struct sockaddr_in *)(rtm + 1);
493 !(rtm->rtm_flags & RTF_GATEWAY) &&
510 rtm->rtm_flags |= RTF_LLDATA;
539 struct rt_msghdr *rtm;
571 for (next = buf; next < lim; next += rtm->rtm_msglen) {
572 rtm = (struct rt_msghdr *)next;
573 sin2 = (struct sockaddr_in *)(rtm + 1);
582 (*action)(sdl, sin2, rtm);
594 struct sockaddr_in *addr, struct rt_msghdr *rtm)
642 if (rtm->rtm_rmx.rmx_expire == 0)
650 if ((expire_time = rtm->rtm_rmx.rmx_expire - tp.tv_sec) > 0)
657 if (rtm->rtm_flags & RTF_ANNOUNCE)
707 struct sockaddr_in *addr, struct rt_msghdr *rtm)
711 if (rtm->rtm_flags & RTF_PINNED)
752 struct rt_msghdr *rtm = &m_rtmsg.m_rtm;
770 rtm->rtm_flags = opts.flags;
771 rtm->rtm_version = RTM_VERSION;
777 rtm->rtm_addrs |= RTA_GATEWAY;
782 rtm->rtm_rmx.rmx_expire = opts.expire_time + tp.tv_sec;
784 rtm->rtm_inits = RTV_EXPIRE;
785 rtm->rtm_flags |= (RTF_HOST | RTF_STATIC | RTF_LLDATA);
788 rtm->rtm_addrs |= RTA_DST;
792 if ((s) != NULL && rtm->rtm_addrs & (w)) { \
801 rtm->rtm_msglen = cp - (char *)&m_rtmsg;
803 l = rtm->rtm_msglen;
804 rtm->rtm_seq = ++seq;
805 rtm->rtm_type = cmd;
814 } while (l > 0 && (rtm->rtm_type != cmd || rtm->rtm_seq != seq ||
815 rtm->rtm_pid != pid));
818 return (rtm);