Lines Matching defs:rtm

85 static int	rts_getaddrs(rt_msghdr_t *rtm, in6_addr_t *dst_addrp,
191 rt_msghdr_t *rtm;
230 rtm = (rt_msghdr_t *)mp->b_rptr;
231 mp->b_wptr = (uchar_t *)&mp->b_rptr[rtm->rtm_msglen];
232 rtm->rtm_addrs = rtm_addrs;
233 rtm->rtm_flags = ire->ire_flags;
235 rtm->rtm_errno = error;
237 rtm->rtm_flags |= RTF_DONE;
277 rt_msghdr_t *rtm = NULL;
332 rtm = (rt_msghdr_t *)mp->b_rptr;
333 if ((mp->b_wptr - mp->b_rptr) != rtm->rtm_msglen) {
337 if (rtm->rtm_version != RTM_VERSION) {
343 if (rtm->rtm_type != RTM_GET &&
344 rtm->rtm_type != RTM_RESOLVE &&
351 found_addrs = rts_getaddrs(rtm, &dst_addr_v6, &gw_addr_v6, &net_mask_v6,
375 (rtm->rtm_flags & RTF_HOST))
382 (rtm->rtm_flags & RTF_HOST))
390 switch (rtm->rtm_type) {
428 switch (rtm->rtm_type) {
471 if (rtm->rtm_type == RTM_ADD || rtm->rtm_type == RTM_CHANGE ||
472 rtm->rtm_type == RTM_GET) {
478 switch (rtm->rtm_type) {
487 if ((rtm->rtm_flags & (RTF_MULTIRT | RTF_HOST)) ==
501 if (rtm->rtm_flags & (RTF_MULTIRT | RTF_SETSRC)) {
502 if ((rtm->rtm_flags & RTF_GATEWAY) == 0) {
536 if (rtm->rtm_flags & RTF_SETSRC) {
543 rtm->rtm_flags, ill, &ire, B_FALSE,
572 &gw_addr_v6, &src_addr_v6, rtm->rtm_flags,
580 if (rtm->rtm_flags & RTF_SETSRC) {
585 &gw_addr_v6, NULL, rtm->rtm_flags,
594 rts_setmetrics(ire, rtm->rtm_inits, &rtm->rtm_rmx);
606 if (rtm->rtm_flags & RTF_SETSRC) {
614 found_addrs, rtm->rtm_flags, ill, B_FALSE,
619 &gw_addr_v6, found_addrs, rtm->rtm_flags, ill,
646 ((rtm->rtm_type == RTM_GET) ||
647 !(rtm->rtm_flags & RTF_SETSRC))) {
652 if (rtm->rtm_type == RTM_GET) {
677 if (rtm->rtm_type == RTM_CHANGE) {
679 (rtm->rtm_flags & RTF_SETSRC)) {
744 switch (rtm->rtm_type) {
753 rtm = (rt_msghdr_t *)mp->b_rptr;
763 (rtm->rtm_flags & RTF_MULTIRT)) {
794 (rtm->rtm_flags & RTF_SETSRC) != 0 &&
863 (rtm->rtm_flags & RTF_SETSRC) != 0 &&
941 rts_setmetrics(ire, rtm->rtm_inits, &rtm->rtm_rmx);
960 if (rtm != NULL) {
963 rtm->rtm_errno = error;
967 rtm->rtm_flags |= RTF_DONE;
1226 rt_msghdr_t *rtm;
1241 rtm = (rt_msghdr_t *)mp->b_rptr;
1271 if ((rtm->rtm_addrs & (RTA_IFP | RTA_IFA)) && ill != NULL) {
1357 new_rtm->rtm_index = rtm->rtm_index;
1358 new_rtm->rtm_pid = rtm->rtm_pid;
1359 new_rtm->rtm_seq = rtm->rtm_seq;
1360 new_rtm->rtm_use = rtm->rtm_use;
1593 * at the rtm->rtm_addrs bits and store the requested sockaddrs in the pointers
1600 rts_getaddrs(rt_msghdr_t *rtm, in6_addr_t *dst_addrp, in6_addr_t *gw_addrp,
1629 cp = (caddr_t)&rtm[1];
1630 length = rtm->rtm_msglen;
1631 for (i = 0; (i < RTA_NUMBITS) && ((cp - (caddr_t)rtm) < length); i++) {
1646 addr_bits = (rtm->rtm_addrs & (1 << i));
1702 if (((cp - (caddr_t)rtm) < length) && is_system_labeled()) {
1703 *error = tsol_rtsa_init(rtm, rtsecattr, cp);
1719 rt_msghdr_t *rtm;
1737 rtm = (rt_msghdr_t *)mp->b_rptr;
1816 rtm->rtm_msglen = (short)(header_size + data_size);
1817 rtm->rtm_version = RTM_VERSION;
1818 rtm->rtm_type = (uchar_t)type;
1913 rt_msghdr_t *rtm;
1923 rtm = (rt_msghdr_t *)mp->b_rptr;
1924 rtm->rtm_flags = flags;
1925 rtm->rtm_errno = error;
1926 rtm->rtm_flags |= RTF_DONE;
1927 rtm->rtm_addrs = rtm_addrs;
2005 rt_msghdr_t *rtm;
2076 rtm = (rt_msghdr_t *)mp->b_rptr;
2077 rtm->rtm_index =
2079 rtm->rtm_flags = ((cmd == RTM_ADD) ? RTF_UP : 0);
2080 rtm->rtm_errno = error;
2082 rtm->rtm_flags |= RTF_DONE;
2083 rtm->rtm_addrs = rtm_addrs;