Lines Matching defs:rtm

428 	struct rt_msghdr *rtm;
465 for (next = buf; next < lim; next += rtm->rtm_msglen) {
466 rtm = (struct rt_msghdr *)(void *)next;
468 print_rtmsg(rtm, rtm->rtm_msglen);
469 if ((rtm->rtm_flags & RTF_GATEWAY) == 0)
472 struct sockaddr *sa = (struct sockaddr *)(rtm + 1);
479 rtm->rtm_type = RTM_DELETE;
480 rtm->rtm_seq = seqno;
481 rlen = write(s, next, rtm->rtm_msglen);
484 if (rlen < (int)rtm->rtm_msglen) {
495 print_rtmsg(rtm, rlen);
497 struct sockaddr *sa = (struct sockaddr *)(rtm + 1);
499 printf("%-20.20s ", rtm->rtm_flags & RTF_HOST ?
1422 struct rt_msghdr *rtm;
1445 for (next = buf; next < lim; next += rtm->rtm_msglen) {
1446 rtm = (struct rt_msghdr *)(void *)next;
1447 print_rtmsg(rtm, rtm->rtm_msglen);
1542 #define rtm m_rtmsg.m_rtm
1543 rtm.rtm_type = cmd;
1544 rtm.rtm_flags = flags;
1545 rtm.rtm_version = RTM_VERSION;
1546 rtm.rtm_seq = ++seq;
1547 rtm.rtm_addrs = rtm_addrs;
1548 rtm.rtm_rmx = rt_metrics;
1549 rtm.rtm_inits = rtm_inits;
1557 rtm.rtm_msglen = l = cp - (char *)&m_rtmsg;
1559 print_rtmsg(&rtm, l);
1571 } while (l > 0 && (rtm.rtm_seq != seq || rtm.rtm_pid != pid));
1575 print_getmsg(&rtm, l, fib);
1577 #undef rtm
1622 print_rtmsg(struct rt_msghdr *rtm, size_t msglen)
1634 if (rtm->rtm_version != RTM_VERSION) {
1636 rtm->rtm_version);
1639 if (rtm->rtm_type < nitems(msgtypes))
1640 (void)printf("%s: ", msgtypes[rtm->rtm_type]);
1642 (void)printf("unknown type %d: ", rtm->rtm_type);
1643 (void)printf("len %d, ", rtm->rtm_msglen);
1652 switch (rtm->rtm_type) {
1655 ifm = (struct if_msghdr *)rtm;
1675 ifam = (struct ifa_msghdr *)rtm;
1684 ifmam = (struct ifma_msghdr *)rtm;
1690 ifan = (struct if_announcemsghdr *)rtm;
1709 (long)rtm->rtm_pid, rtm->rtm_seq, rtm->rtm_errno);
1710 printb(rtm->rtm_flags, routeflags);
1711 pmsg_common(rtm, msglen);
1722 print_getmsg(struct rt_msghdr *rtm, int msglen, int fib)
1732 if (rtm->rtm_version != RTM_VERSION) {
1734 rtm->rtm_version);
1737 if (rtm->rtm_msglen > msglen) {
1739 rtm->rtm_msglen, msglen);
1742 if (rtm->rtm_errno) {
1743 errno = rtm->rtm_errno;
1747 cp = ((char *)(rtm + 1));
1749 if (rtm->rtm_addrs & (1 << i)) {
1753 if ((rtm->rtm_addrs & RTA_IFP) &&
1763 if (sp[RTAX_GATEWAY] && (rtm->rtm_flags & RTF_GATEWAY))
1772 printb(rtm->rtm_flags, routeflags);
1774 #define lock(f) ((rtm->rtm_rmx.rmx_locks & __CONCAT(RTV_,f)) ? 'L' : ' ')
1778 printf("%8lu%c ", rtm->rtm_rmx.rmx_recvpipe, lock(RPIPE));
1779 printf("%8lu%c ", rtm->rtm_rmx.rmx_sendpipe, lock(SPIPE));
1780 printf("%8lu%c ", rtm->rtm_rmx.rmx_ssthresh, lock(SSTHRESH));
1781 printf("%8lu%c ", msec(rtm->rtm_rmx.rmx_rtt), lock(RTT));
1782 printf("%8lu%c ", rtm->rtm_rmx.rmx_mtu, lock(MTU));
1783 printf("%8lu%c ", rtm->rtm_rmx.rmx_weight, lock(WEIGHT));
1784 if (rtm->rtm_rmx.rmx_expire > 0)
1788 printf("%8ld%c\n", (long)(rtm->rtm_rmx.rmx_expire - ts.tv_sec),
1794 pmsg_common(rtm, msglen);
1795 else if (rtm->rtm_addrs &~ RTA_IGN) {
1797 printb(rtm->rtm_addrs, addrnames);
1804 pmsg_common(struct rt_msghdr *rtm, size_t msglen)
1808 printb(rtm->rtm_rmx.rmx_locks, metricnames);
1810 printb(rtm->rtm_inits, metricnames);
1812 pmsg_addrs(((char *)(rtm + 1)), rtm->rtm_addrs,