Lines Matching refs:rtm
1696 struct rt_msghdr *rtm; in rtrecv() local
1715 if (len < sizeof(*rtm)) { in rtrecv()
1717 len, (u_long)sizeof(*rtm)); in rtrecv()
1741 rtm = NULL; in rtrecv()
1769 rtm = (struct rt_msghdr *)(void *)p; in rtrecv()
1770 if (rtm->rtm_version != RTM_VERSION) { in rtrecv()
1773 rtm->rtm_version, RTM_VERSION); in rtrecv()
1780 if (rtm->rtm_type > RTM_RESOLVE) { in rtrecv()
1782 rtm->rtm_type); in rtrecv()
1785 addrs = rtm->rtm_addrs; in rtrecv()
1786 q = (char *)(rtm + 1); in rtrecv()
1787 if (rtm->rtm_pid == pid) { in rtrecv()
1879 if ((rtm->rtm_flags & RTF_HOST) != 0) { in rtrecv()
2464 rttypes(struct rt_msghdr *rtm) in rttypes() argument
2468 if (rtm->rtm_type == (f)) \ in rttypes()
2499 rtflags(struct rt_msghdr *rtm) in rtflags() argument
2509 if (rtm->rtm_flags & (f)) \ in rtflags()
2600 struct rt_msghdr *rtm; in krtread() local
2642 for (p = buf; p < lim; p += rtm->rtm_msglen) { in krtread()
2643 rtm = (struct rt_msghdr *)(void *)p; in krtread()
2644 rt_entry(rtm, again); in krtread()
2650 rt_entry(struct rt_msghdr *rtm, int again) in rt_entry() argument
2660 if ((rtm->rtm_flags & RTF_UP) == 0 || rtm->rtm_flags & in rt_entry()
2666 if (rtm->rtm_flags & RTF_WASCLONED) in rt_entry()
2670 if (rtm->rtm_flags & RTF_CLONED) in rt_entry()
2674 if (!(rtm->rtm_flags & (RTF_GATEWAY|RTF_HOST|RTF_STATIC))) in rt_entry()
2680 if (rtm->rtm_flags & RTF_DYNAMIC) in rt_entry()
2682 rtmp = (char *)(rtm + 1); in rt_entry()
2684 if ((rtm->rtm_addrs & RTA_DST) == 0) in rt_entry()
2688 if (rtm->rtm_addrs & RTA_GATEWAY) { in rt_entry()
2692 if (rtm->rtm_addrs & RTA_NETMASK) { in rt_entry()
2696 if (rtm->rtm_addrs & RTA_GENMASK) { in rt_entry()
2700 if (rtm->rtm_addrs & RTA_IFP) { in rt_entry()
2723 if (aflag == 0 && (rtm->rtm_flags & RTF_STATIC)) in rt_entry()
2725 if (rtm->rtm_flags & Pflag) in rt_entry()
2727 if ((rtm->rtm_flags & (RTF_HOST|RTF_GATEWAY)) == RTF_HOST) in rt_entry()
2730 np->rip6_metric = rtm->rtm_rmx.rmx_hopcount; in rt_entry()
2733 rrt->rrt_flags = rtm->rtm_flags; in rt_entry()
2737 if (rtm->rtm_flags & RTF_HOST) in rt_entry()
2750 rtflags(rtm)); in rt_entry()
2768 inet6_n2p(&np->rip6_dest), np->rip6_plen, rtflags(rtm)); in rt_entry()
2772 ifindex = rtm->rtm_index; in rt_entry()
2804 rtflags(rtm)); in rt_entry()
2817 struct rt_msghdr *rtm; in addroute() local
2835 rtm = (struct rt_msghdr *)(void *)buf; in addroute()
2836 rtm->rtm_type = RTM_ADD; in addroute()
2837 rtm->rtm_version = RTM_VERSION; in addroute()
2838 rtm->rtm_seq = ++seq; in addroute()
2839 rtm->rtm_pid = pid; in addroute()
2840 rtm->rtm_flags = rrt->rrt_flags; in addroute()
2841 rtm->rtm_flags |= Qflag; in addroute()
2842 rtm->rtm_addrs = RTA_DST | RTA_GATEWAY | RTA_NETMASK; in addroute()
2843 rtm->rtm_rmx.rmx_hopcount = np->rip6_metric - 1; in addroute()
2844 rtm->rtm_inits = RTV_HOPCOUNT; in addroute()
2865 rtm->rtm_msglen = len; in addroute()
2889 struct rt_msghdr *rtm; in delroute() local
2903 rtm = (struct rt_msghdr *)(void *)buf; in delroute()
2904 rtm->rtm_type = RTM_DELETE; in delroute()
2905 rtm->rtm_version = RTM_VERSION; in delroute()
2906 rtm->rtm_seq = ++seq; in delroute()
2907 rtm->rtm_pid = pid; in delroute()
2908 rtm->rtm_flags = RTF_UP | RTF_GATEWAY; in delroute()
2909 rtm->rtm_flags |= Qflag; in delroute()
2911 rtm->rtm_flags |= RTF_HOST; in delroute()
2912 rtm->rtm_addrs = RTA_DST | RTA_GATEWAY | RTA_NETMASK; in delroute()
2931 rtm->rtm_msglen = len; in delroute()
2958 struct rt_msghdr *rtm;
2961 rtm = (struct rt_msghdr *)(void *)buf;
2963 memset(rtm, 0, len);
2964 rtm->rtm_type = RTM_GET;
2965 rtm->rtm_version = RTM_VERSION;
2967 rtm->rtm_seq = myseq;
2968 rtm->rtm_addrs = RTA_DST;
2969 rtm->rtm_msglen = len;
2985 rtm = (struct rt_msghdr *)(void *)buf;
2986 } while (rtm->rtm_type != RTM_GET || rtm->rtm_seq != myseq ||
2987 rtm->rtm_pid != pid);
2989 if (rtm->rtm_addrs & RTA_DST) {
2993 if (rtm->rtm_addrs & RTA_GATEWAY) {