Lines Matching defs:rtm

707 dump_rt_msg(const char *act, struct rt_msghdr *rtm, int mlen)
716 switch (rtm->rtm_type) {
727 mtype = "rtm";
731 if (mlen > rtm->rtm_msglen) {
733 mlen - rtm->rtm_msglen);
734 mlen = rtm->rtm_msglen;
735 } else if (mlen < rtm->rtm_msglen) {
737 rtm->rtm_msglen - mlen);
739 switch (rtm->rtm_type) {
744 ifam = (struct ifa_msghdr *)rtm;
753 ifm = (struct if_msghdr *)rtm;
769 trace_misc("rtm: msglen %d version %d type %d index %d",
770 rtm->rtm_msglen, rtm->rtm_version, rtm->rtm_type,
771 rtm->rtm_index);
772 trace_misc("rtm: flags %X addrs %X pid %d seq %d",
773 rtm->rtm_flags, rtm->rtm_addrs, rtm->rtm_pid, rtm->rtm_seq);
774 trace_misc("rtm: errno %d use %d inits %X", rtm->rtm_errno,
775 rtm->rtm_use, rtm->rtm_inits);
776 cp = (uchar_t *)(rtm + 1);
779 i = mlen - (cp - (uint8_t *)rtm);
1113 rtm_add(struct rt_msghdr *rtm,
1124 if (rtm->rtm_flags & RTF_HOST) {
1130 "ignore %s without mask", rtm_type_name(rtm->rtm_type));
1157 rtm_type_name(rtm->rtm_type));
1161 rtm_type_name(rtm->rtm_type),
1166 k->k_metric = rtm->rtm_rmx.rmx_hopcount;
1182 if (rtm->rtm_flags & RTF_GATEWAY)
1184 if (rtm->rtm_flags & RTF_STATIC)
1186 if (rtm->rtm_flags & RTF_PRIVATE)
1190 if (rtm->rtm_flags & (RTF_DYNAMIC | RTF_MODIFIED)) {
1244 rtm_lose(struct rt_msghdr *rtm, struct rt_addrinfo *info)
1252 rtm_type_name(rtm->rtm_type));
1346 struct rt_msghdr rtm;
1420 (void) memset(&rtm, 0, sizeof (rtm));
1472 rtm.rtm_flags = rp->ipRouteInfo.re_flags;
1473 rtm.rtm_type = RTM_GET;
1474 rtm.rtm_rmx.rmx_hopcount = rp->ipRouteMetric1;
1527 rtm_add(&rtm, &info, MAX_WAITTIME,
1576 struct rt_msghdr rtm;
1594 dump_rt_msg("read", &m.r.rtm, cc);
1596 if (cc < m.r.rtm.rtm_msglen) {
1598 cc, m.r.rtm.rtm_msglen);
1601 if (m.r.rtm.rtm_version != RTM_VERSION) {
1603 m.r.rtm.rtm_version);
1609 if (m.r.rtm.rtm_type == RTM_IFINFO ||
1610 m.r.rtm.rtm_type == RTM_NEWADDR ||
1611 m.r.rtm.rtm_type == RTM_DELADDR) {
1618 m.r.rtm.rtm_type != RTM_DELADDR);
1627 rtm_type_name(m.r.rtm.rtm_type),
1632 rtm_type_name(m.r.rtm.rtm_type),
1637 rtm_type_name(m.r.rtm.rtm_type),
1656 } else if (m.r.rtm.rtm_type == RTM_CHGADDR ||
1657 m.r.rtm.rtm_type == RTM_FREEADDR) {
1660 if (m.r.rtm.rtm_index != 0)
1661 ifp = ifwithindex(m.r.rtm.rtm_index, 1);
1664 (void) strlcpy(str, rtm_type_name(m.r.rtm.rtm_type),
1667 if (m.r.rtm.rtm_type <= RTM_CHANGE)
1669 " from pid %d", (int)m.r.rtm.rtm_pid);
1672 (void) rt_xaddrs(&info, (struct sockaddr_storage *)(&m.r.rtm +
1673 1), (char *)&m + cc, m.r.rtm.rtm_addrs);
1688 (m.r.rtm.rtm_flags & RTF_HOST) ?
1700 if (m.r.rtm.rtm_flags & RTF_LLINFO) {
1718 switch (m.r.rtm.rtm_type) {
1722 if (m.r.rtm.rtm_errno != 0) {
1724 str, rip_strerror(m.r.rtm.rtm_errno));
1727 rtm_add(&m.r.rtm, &info, 0,
1728 !(m.r.rtm.rtm_flags & RTF_GATEWAY) &&
1729 m.r.rtm.rtm_type != RTM_REDIRECT, ifp);
1735 if (m.r.rtm.rtm_errno != 0 &&
1736 m.r.rtm.rtm_errno != ESRCH) {
1738 str, rip_strerror(m.r.rtm.rtm_errno));
1748 rtm_lose(&m.r.rtm, &info);