Lines Matching refs:rtm
269 static void pmsg_common(const struct rt_msghdr *rtm, size_t len);
271 struct rt_msghdr *rtm, int msglen);
274 static void print_rtmsg(struct rt_msghdr *rtm, int msglen);
719 struct rt_msghdr *rtm; in delRouteEntry() local
734 rtm = &m_rtmsg.m_rtm; in delRouteEntry()
735 (void) memset(rtm, 0, sizeof (m_rtmsg)); in delRouteEntry()
736 rtm->rtm_type = RTM_DELETE; in delRouteEntry()
737 rtm->rtm_seq = seqno; in delRouteEntry()
738 rtm->rtm_flags |= RTF_GATEWAY; in delRouteEntry()
739 rtm->rtm_version = RTM_VERSION; in delRouteEntry()
740 rtm->rtm_addrs = RTA_DST | RTA_GATEWAY | RTA_NETMASK; in delRouteEntry()
745 rtm->rtm_flags |= RTF_HOST; in delRouteEntry()
760 rtm->rtm_flags |= RTF_HOST; in delRouteEntry()
775 rtm->rtm_msglen = cp - (char *)&m_rtmsg; in delRouteEntry()
784 print_rtmsg(rtm, rtm->rtm_msglen); in delRouteEntry()
788 rlen = write(s, (char *)&m_rtmsg, rtm->rtm_msglen); in delRouteEntry()
789 if (rlen < (int)rtm->rtm_msglen) { in delRouteEntry()
808 print_rtmsg(rtm, rlen); in delRouteEntry()
810 struct sockaddr *sa = (struct sockaddr *)(rtm + 1); in delRouteEntry()
813 rtm->rtm_flags & RTF_HOST ? routename(sa) : in delRouteEntry()
2452 #define rtm m_rtmsg.m_rtm in rtmsg() macro
2453 rtm.rtm_type = newrt->ri_cmd; in rtmsg()
2454 rtm.rtm_flags = newrt->ri_flags; in rtmsg()
2455 rtm.rtm_version = RTM_VERSION; in rtmsg()
2456 rtm.rtm_seq = ++seq; in rtmsg()
2457 rtm.rtm_addrs = newrt->ri_addrs; in rtmsg()
2458 rtm.rtm_rmx = newrt->ri_metrics; in rtmsg()
2459 rtm.rtm_inits = newrt->ri_inits; in rtmsg()
2497 rtm.rtm_msglen = l = cp - (char *)&m_rtmsg; in rtmsg()
2500 print_rtmsg(&rtm, l); in rtmsg()
2518 } else if (rlen < (int)rtm.rtm_msglen) { in rtmsg()
2527 } while (l > 0 && (rtm.rtm_seq != seq || rtm.rtm_pid != pid)); in rtmsg()
2533 print_getmsg(newrt, &rtm, l); in rtmsg()
2536 #undef rtm in rtmsg()
2584 print_rtmsg(struct rt_msghdr *rtm, int msglen) in print_rtmsg() argument
2591 if (rtm->rtm_version != RTM_VERSION) { in print_rtmsg()
2593 rtm->rtm_version); in print_rtmsg()
2596 if (rtm->rtm_msglen != msglen) { in print_rtmsg()
2599 rtm->rtm_msglen, msglen); in print_rtmsg()
2600 if (msglen > rtm->rtm_msglen) in print_rtmsg()
2601 msglen = rtm->rtm_msglen; in print_rtmsg()
2607 if (rtm->rtm_type == 0 || rtm->rtm_type >= (NMSGTYPES - 1)) { in print_rtmsg()
2609 rtm->rtm_type); in print_rtmsg()
2612 (void) printf("%s: len %d, ", msgtypes[rtm->rtm_type], msglen); in print_rtmsg()
2613 switch (rtm->rtm_type) { in print_rtmsg()
2615 ifm = (struct if_msghdr *)rtm; in print_rtmsg()
2625 ifam = (struct ifa_msghdr *)rtm; in print_rtmsg()
2633 rtm->rtm_pid, rtm->rtm_seq, rtm->rtm_errno); in print_rtmsg()
2634 bprintf(stdout, rtm->rtm_flags, routeflags); in print_rtmsg()
2635 pmsg_common(rtm, msglen); in print_rtmsg()
2641 print_getmsg(rtcmd_irep_t *req_rt, struct rt_msghdr *rtm, int msglen) in print_getmsg() argument
2650 if (rtm->rtm_version != RTM_VERSION) { in print_getmsg()
2653 rtm->rtm_version); in print_getmsg()
2656 if (rtm->rtm_msglen > (ushort_t)msglen) { in print_getmsg()
2659 "returned %d\n"), rtm->rtm_msglen, msglen); in print_getmsg()
2661 if (rtm->rtm_errno) { in print_getmsg()
2663 strerror(rtm->rtm_errno), rtm->rtm_errno); in print_getmsg()
2666 cp = ((char *)(rtm + 1)); in print_getmsg()
2667 if (rtm->rtm_addrs != 0) { in print_getmsg()
2669 if (i & rtm->rtm_addrs) { in print_getmsg()
2707 if (gate != NULL && rtm->rtm_flags & RTF_GATEWAY) in print_getmsg()
2709 if (src != NULL && rtm->rtm_flags & RTF_SETSRC) in print_getmsg()
2730 bprintf(stdout, rtm->rtm_flags, routeflags); in print_getmsg()
2732 #define lock(f) ((rtm->rtm_rmx.rmx_locks & RTV_ ## f) ? 'L' : ' ') in print_getmsg()
2737 (void) printf("%8d%c ", rtm->rtm_rmx.rmx_recvpipe, lock(RPIPE)); in print_getmsg()
2738 (void) printf("%8d%c ", rtm->rtm_rmx.rmx_sendpipe, lock(SPIPE)); in print_getmsg()
2739 (void) printf("%8d%c ", rtm->rtm_rmx.rmx_ssthresh, lock(SSTHRESH)); in print_getmsg()
2740 (void) printf("%8d%c ", msec(rtm->rtm_rmx.rmx_rtt), lock(RTT)); in print_getmsg()
2741 (void) printf("%8d%c ", msec(rtm->rtm_rmx.rmx_rttvar), lock(RTTVAR)); in print_getmsg()
2742 (void) printf("%8d%c ", rtm->rtm_rmx.rmx_hopcount, lock(HOPCOUNT)); in print_getmsg()
2743 (void) printf("%8d%c ", rtm->rtm_rmx.rmx_mtu, lock(MTU)); in print_getmsg()
2744 if (rtm->rtm_rmx.rmx_expire) in print_getmsg()
2745 rtm->rtm_rmx.rmx_expire -= time(0); in print_getmsg()
2746 (void) printf("%8d%c", rtm->rtm_rmx.rmx_expire, lock(EXPIRE)); in print_getmsg()
2752 pmsg_common(rtm, msglen); in print_getmsg()
2759 if (rtm->rtm_addrs &~ RTA_IGN) { in print_getmsg()
2761 bprintf(stdout, rtm->rtm_addrs, addrnames); in print_getmsg()
2763 sptr = (const char *)(rtm + 1); in print_getmsg()
2764 endptr = (const char *)rtm + msglen; in print_getmsg()
2765 addrs = rtm->rtm_addrs; in print_getmsg()
2780 pmsg_common(const struct rt_msghdr *rtm, size_t msglen) in pmsg_common() argument
2783 bprintf(stdout, (int)rtm->rtm_rmx.rmx_locks, metricnames); in pmsg_common()
2785 bprintf(stdout, (int)rtm->rtm_inits, metricnames); in pmsg_common()
2786 pmsg_addrs((const char *)(rtm + 1), msglen - sizeof (*rtm), in pmsg_common()
2787 rtm->rtm_addrs); in pmsg_common()