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