Lines Matching defs:rtm
492 struct rt_msghdr *rtm;
529 for (next = buf; next < lim; next += rtm->rtm_msglen) {
530 rtm = (struct rt_msghdr *)(void *)next;
532 print_rtmsg(rtm, rtm->rtm_msglen);
533 if ((rtm->rtm_flags & RTF_GATEWAY) == 0)
536 struct sockaddr *sa = (struct sockaddr *)(rtm + 1);
543 rtm->rtm_type = RTM_DELETE;
544 rtm->rtm_seq = seqno;
545 rlen = write(s, next, rtm->rtm_msglen);
548 if (rlen < (int)rtm->rtm_msglen) {
559 print_rtmsg(rtm, rlen);
561 struct sockaddr *sa = (struct sockaddr *)(rtm + 1);
563 printf("%-20.20s ", rtm->rtm_flags & RTF_HOST ?
1437 struct rt_msghdr *rtm;
1460 for (next = buf; next < lim; next += rtm->rtm_msglen) {
1461 rtm = (struct rt_msghdr *)(void *)next;
1462 print_rtmsg(rtm, rtm->rtm_msglen);
1587 #define rtm m_rtmsg.m_rtm
1588 rtm.rtm_type = cmd;
1589 rtm.rtm_flags = flags;
1590 rtm.rtm_version = RTM_VERSION;
1591 rtm.rtm_seq = ++rtm_seq;
1592 rtm.rtm_addrs = rtm_addrs;
1593 rtm.rtm_rmx = rt_metrics;
1594 rtm.rtm_inits = rtm_inits;
1602 rtm.rtm_msglen = l = cp - (char *)&m_rtmsg;
1604 print_rtmsg(&rtm, l);
1629 (rtm.rtm_type != RTM_GET || rtm.rtm_seq != rtm_seq ||
1630 rtm.rtm_pid != pid));
1639 print_getmsg(&rtm, l, fib);
1641 #undef rtm
1687 print_rtmsg(struct rt_msghdr *rtm, size_t msglen)
1699 if (rtm->rtm_version != RTM_VERSION) {
1701 rtm->rtm_version);
1704 if (rtm->rtm_type < nitems(msgtypes))
1705 (void)printf("%s: ", msgtypes[rtm->rtm_type]);
1707 (void)printf("unknown type %d: ", rtm->rtm_type);
1708 (void)printf("len %d, ", rtm->rtm_msglen);
1717 switch (rtm->rtm_type) {
1720 ifm = (struct if_msghdr *)rtm;
1740 ifam = (struct ifa_msghdr *)rtm;
1749 ifmam = (struct ifma_msghdr *)rtm;
1755 ifan = (struct if_announcemsghdr *)rtm;
1773 if (rtm->rtm_type <= RTM_RESOLVE) {
1775 (long)rtm->rtm_pid, rtm->rtm_seq, rtm->rtm_errno);
1776 printb(rtm->rtm_flags, routeflags);
1777 pmsg_common(rtm, msglen);
1779 printf("type: %u, len: %zu\n", rtm->rtm_type, msglen);
1790 print_getmsg(struct rt_msghdr *rtm, int msglen, int fib)
1800 if (rtm->rtm_version != RTM_VERSION) {
1802 rtm->rtm_version);
1805 if (rtm->rtm_msglen > msglen) {
1807 rtm->rtm_msglen, msglen);
1810 if (rtm->rtm_errno) {
1811 errno = rtm->rtm_errno;
1815 cp = ((char *)(rtm + 1));
1817 if (rtm->rtm_addrs & (1 << i)) {
1821 if ((rtm->rtm_addrs & RTA_IFP) &&
1829 if (sp[RTAX_GATEWAY] && (rtm->rtm_flags & RTF_GATEWAY))
1838 printb(rtm->rtm_flags, routeflags);
1840 #define lock(f) ((rtm->rtm_rmx.rmx_locks & __CONCAT(RTV_,f)) ? 'L' : ' ')
1844 printf("%8lu%c ", rtm->rtm_rmx.rmx_recvpipe, lock(RPIPE));
1845 printf("%8lu%c ", rtm->rtm_rmx.rmx_sendpipe, lock(SPIPE));
1846 printf("%8lu%c ", rtm->rtm_rmx.rmx_ssthresh, lock(SSTHRESH));
1847 printf("%8lu%c ", msec(rtm->rtm_rmx.rmx_rtt), lock(RTT));
1848 printf("%8lu%c ", rtm->rtm_rmx.rmx_mtu, lock(MTU));
1849 printf("%8lu%c ", rtm->rtm_rmx.rmx_weight, lock(WEIGHT));
1850 if (rtm->rtm_rmx.rmx_expire > 0)
1854 printf("%8ld%c\n", (long)(rtm->rtm_rmx.rmx_expire - ts.tv_sec),
1860 pmsg_common(rtm, msglen);
1861 else if (rtm->rtm_addrs &~ RTA_IGN) {
1863 printb(rtm->rtm_addrs, addrnames);
1870 pmsg_common(struct rt_msghdr *rtm, size_t msglen)
1874 printb(rtm->rtm_rmx.rmx_locks, metricnames);
1876 printb(rtm->rtm_inits, metricnames);
1878 pmsg_addrs(((char *)(rtm + 1)), rtm->rtm_addrs,