Lines Matching refs:info

325 	struct rt_addrinfo info;
350 info.rti_info[RTAX_DST] = NULL;
355 info.rti_info[RTAX_DST] = NULL;
360 info.rti_info[RTAX_DST] = NULL;
380 info.rti_info[RTAX_DST] = NULL;
385 info.rti_addrs = rtm->rtm_addrs;
386 if (rt_xaddrs((caddr_t)(rtm + 1), len + (caddr_t)rtm, &info)) {
387 info.rti_info[RTAX_DST] = NULL;
390 if (info.rti_info[RTAX_DST] == NULL || (info.rti_info[RTAX_DST]->sa_family >= AF_MAX) ||
391 (info.rti_info[RTAX_GATEWAY] != NULL && (info.rti_info[RTAX_GATEWAY]->sa_family >= AF_MAX))) {
395 if (info.rti_info[RTAX_DST]->sa_family == AF_INET && info.rti_info[RTAX_DST]->sa_len != sizeof (dst_in)) {
397 if (info.rti_info[RTAX_DST]->sa_len < offsetof(struct sockaddr_in, sin_zero))
402 dst_in.sin_port = SIN(info.rti_info[RTAX_DST])->sin_port;
403 dst_in.sin_addr = SIN(info.rti_info[RTAX_DST])->sin_addr;
404 info.rti_info[RTAX_DST] = (struct sockaddr *)&dst_in;
405 dst_sa_family = info.rti_info[RTAX_DST]->sa_family;
408 if (info.rti_info[RTAX_GATEWAY] != NULL &&
409 info.rti_info[RTAX_GATEWAY]->sa_family == AF_INET && info.rti_info[RTAX_GATEWAY]->sa_len != sizeof (gate_in)) {
411 if (info.rti_info[RTAX_GATEWAY]->sa_len < offsetof(struct sockaddr_in, sin_zero))
416 gate_in.sin_port = SIN(info.rti_info[RTAX_GATEWAY])->sin_port;
417 gate_in.sin_addr = SIN(info.rti_info[RTAX_GATEWAY])->sin_addr;
418 info.rti_info[RTAX_GATEWAY] = (struct sockaddr *)&gate_in;
421 if (info.rti_info[RTAX_GENMASK]) {
423 t = rn_addmask((caddr_t)info.rti_info[RTAX_GENMASK], 0, 1);
424 if (t && Bcmp(info.rti_info[RTAX_GENMASK], t->rn_key, *(u_char *)info.rti_info[RTAX_GENMASK]) == 0)
425 info.rti_info[RTAX_GENMASK] = (struct sockaddr *)(t->rn_key);
434 if (info.rti_info[RTAX_DST]->sa_family != AF_INET && info.rti_info[RTAX_DST]->sa_family != AF_INET6)
452 if (info.rti_info[RTAX_DST]->sa_family == AF_INET)
453 sin_set_ifscope(info.rti_info[RTAX_DST], IFSCOPE_NONE);
454 if (info.rti_info[RTAX_GATEWAY] != NULL && info.rti_info[RTAX_GATEWAY]->sa_family == AF_INET)
455 sin_set_ifscope(info.rti_info[RTAX_GATEWAY], IFSCOPE_NONE);
460 if (info.rti_info[RTAX_GATEWAY] == NULL)
478 if (check_routeselfref && (info.rti_info[RTAX_DST] && info.rti_info[RTAX_DST]->sa_family == AF_INET) &&
479 (info.rti_info[RTAX_NETMASK] && satosinaddr(info.rti_info[RTAX_NETMASK]) == INADDR_BROADCAST) &&
480 (info.rti_info[RTAX_GATEWAY] && satosinaddr(info.rti_info[RTAX_DST]) == satosinaddr(info.rti_info[RTAX_GATEWAY]))) {
482 (ntohl(satosinaddr(info.rti_info[RTAX_GATEWAY])>>24))&0xff,
483 (ntohl(satosinaddr(info.rti_info[RTAX_GATEWAY])>>16))&0xff,
484 (ntohl(satosinaddr(info.rti_info[RTAX_GATEWAY])>>8))&0xff,
485 (ntohl(satosinaddr(info.rti_info[RTAX_GATEWAY])))&0xff);
491 error = rtrequest_scoped_locked(RTM_ADD, info.rti_info[RTAX_DST], info.rti_info[RTAX_GATEWAY],
492 info.rti_info[RTAX_NETMASK], rtm->rtm_flags, &saved_nrt, ifscope);
524 rt_setif(saved_nrt, info.rti_info[RTAX_IFP], info.rti_info[RTAX_IFA], info.rti_info[RTAX_GATEWAY],
532 saved_nrt->rt_genmask = info.rti_info[RTAX_GENMASK];
539 error = rtrequest_scoped_locked(RTM_DELETE, info.rti_info[RTAX_DST],
540 info.rti_info[RTAX_GATEWAY], info.rti_info[RTAX_NETMASK], rtm->rtm_flags, &saved_nrt, ifscope);
551 if ((rnh = rt_tables[info.rti_info[RTAX_DST]->sa_family]) == NULL)
558 rt = rt_lookup(TRUE, info.rti_info[RTAX_DST], info.rti_info[RTAX_NETMASK], rnh, ifscope);
575 info.rti_info[RTAX_DST] = rt_key(rt);
576 dst_sa_family = info.rti_info[RTAX_DST]->sa_family;
577 info.rti_info[RTAX_GATEWAY] = rt->rt_gateway;
578 info.rti_info[RTAX_NETMASK] = rt_mask(rt);
579 info.rti_info[RTAX_GENMASK] = rt->rt_genmask;
585 info.rti_info[RTAX_IFP] = ifa2->ifa_addr;
588 info.rti_info[RTAX_IFA] = rt->rt_ifa->ifa_addr;
591 info.rti_info[RTAX_IFP] = NULL;
592 info.rti_info[RTAX_IFA] = NULL;
599 len = rt_msg2(rtm->rtm_type, &info, (caddr_t)0,
617 (void)rt_msg2(rtm->rtm_type, &info, (caddr_t)rtm,
623 rtm->rtm_addrs = info.rti_addrs;
630 if (info.rti_info[RTAX_GATEWAY] && (error = rt_setgate(rt,
631 rt_key(rt), info.rti_info[RTAX_GATEWAY]))) {
643 if ((rt->rt_flags & RTF_GATEWAY) && !info.rti_info[RTAX_GATEWAY])
644 info.rti_info[RTAX_GATEWAY] = rt->rt_gateway;
652 rt_setif(rt, info.rti_info[RTAX_IFP], info.rti_info[RTAX_IFA], info.rti_info[RTAX_GATEWAY],
661 rt->rt_ifa->ifa_rtrequest(RTM_ADD, rt, info.rti_info[RTAX_GATEWAY]);
663 if (info.rti_info[RTAX_GENMASK])
664 rt->rt_genmask = info.rti_info[RTAX_GENMASK];
822 * Set route's interface given info.rti_info[RTAX_IFP], info.rti_info[RTAX_IFA], and gateway.
915 * Purge any link-layer info caching.
1233 struct rt_addrinfo info;
1238 bzero((caddr_t)&info, sizeof(info));
1239 m = rt_msg1(RTM_IFINFO, &info);
1264 struct rt_addrinfo info;
1280 bzero((caddr_t)&info, sizeof(info));
1289 info.rti_info[RTAX_IFA] = sa = ifa->ifa_addr;
1296 info.rti_info[RTAX_IFP] = ifp->if_lladdr->ifa_addr;
1297 info.rti_info[RTAX_NETMASK] = ifa->ifa_netmask;
1298 info.rti_info[RTAX_BRD] = ifa->ifa_dstaddr;
1299 if ((m = rt_msg1(ncmd, &info)) == NULL) {
1312 ifam->ifam_addrs = info.rti_addrs;
1320 info.rti_info[RTAX_NETMASK] = rt_mask(rt);
1321 info.rti_info[RTAX_DST] = sa = rt_key(rt);
1322 info.rti_info[RTAX_GATEWAY] = rt->rt_gateway;
1323 if ((m = rt_msg1(cmd, &info)) == NULL)
1329 rtm->rtm_addrs = info.rti_addrs;
1344 struct rt_addrinfo info;
1355 bzero((caddr_t)&info, sizeof(info));
1357 info.rti_info[RTAX_IFA] = ifma->ifma_addr;
1358 info.rti_info[RTAX_IFP] = ifp->if_lladdr->ifa_addr; /* lladdr doesn't need lock */
1364 info.rti_info[RTAX_GATEWAY] = (ifma->ifma_ll != NULL) ? ifma->ifma_ll->ifma_addr : NULL;
1365 if ((m = rt_msg1(cmd, &info)) == NULL) {
1372 ifmam->ifmam_addrs = info.rti_addrs;
1388 struct rt_addrinfo info;
1395 bzero((caddr_t)&info, sizeof(info));
1396 info.rti_info[RTAX_DST] = rt_key(rt);
1397 info.rti_info[RTAX_GATEWAY] = rt->rt_gateway;
1398 info.rti_info[RTAX_NETMASK] = rt_mask(rt);
1399 info.rti_info[RTAX_GENMASK] = rt->rt_genmask;
1402 size = rt_msg2(RTM_GET, &info, 0, w);
1414 rtm->rtm_addrs = info.rti_addrs;
1420 size = rt_msg2(RTM_GET2, &info, 0, w);
1435 rtm->rtm_addrs = info.rti_addrs;
1454 struct rt_addrinfo info;
1461 bzero(&info, sizeof (info));
1462 info.rti_info[RTAX_DST] = rt_key(rt);
1463 info.rti_info[RTAX_GATEWAY] = rt->rt_gateway;
1464 info.rti_info[RTAX_NETMASK] = rt_mask(rt);
1465 info.rti_info[RTAX_GENMASK] = rt->rt_genmask;
1467 size = rt_msg2(RTM_GET_EXT, &info, 0, w);
1479 ertm->rtm_addrs = info.rti_addrs;
1516 struct rt_addrinfo info;
1522 bzero((caddr_t)&info, sizeof(info));
1539 info.rti_info[RTAX_IFP] = ifa->ifa_addr;
1540 len = rt_msg2(RTM_IFINFO, &info, (caddr_t)0, NULL);
1553 info.rti_info[RTAX_IFP] = ifa->ifa_addr;
1554 len = rt_msg2(RTM_IFINFO, &info, (caddr_t)cp, NULL);
1555 info.rti_info[RTAX_IFP] = NULL;
1562 ifm->ifm_addrs = info.rti_addrs;
1574 info.rti_info[RTAX_IFA] = ifa->ifa_addr;
1575 info.rti_info[RTAX_NETMASK] = ifa->ifa_netmask;
1576 info.rti_info[RTAX_BRD] = ifa->ifa_dstaddr;
1577 len = rt_msg2(RTM_NEWADDR, &info, 0, 0);
1590 len = rt_msg2(RTM_NEWADDR, &info, (caddr_t)cp, NULL);
1596 ifam->ifam_addrs = info.rti_addrs;
1605 info.rti_info[RTAX_IFA] = info.rti_info[RTAX_NETMASK] =
1606 info.rti_info[RTAX_BRD] = NULL;
1645 struct rt_addrinfo info;
1651 bzero((caddr_t)&info, sizeof(info));
1668 info.rti_info[RTAX_IFP] = ifa->ifa_addr;
1669 len = rt_msg2(RTM_IFINFO2, &info, (caddr_t)0, NULL);
1682 info.rti_info[RTAX_IFP] = ifa->ifa_addr;
1683 len = rt_msg2(RTM_IFINFO2, &info, (caddr_t)cp, NULL);
1684 info.rti_info[RTAX_IFP] = NULL;
1687 ifm->ifm_addrs = info.rti_addrs;
1708 info.rti_info[RTAX_IFA] = ifa->ifa_addr;
1709 info.rti_info[RTAX_NETMASK] = ifa->ifa_netmask;
1710 info.rti_info[RTAX_BRD] = ifa->ifa_dstaddr;
1711 len = rt_msg2(RTM_NEWADDR, &info, 0, 0);
1724 len = rt_msg2(RTM_NEWADDR, &info, (caddr_t)cp, 0);
1730 ifam->ifam_addrs = info.rti_addrs;
1754 bzero((caddr_t)&info, sizeof(info));
1755 info.rti_info[RTAX_IFA] = ifma->ifma_addr;
1763 info.rti_info[RTAX_IFP] = ifa0->ifa_addr;
1765 info.rti_info[RTAX_GATEWAY] = ifma->ifma_ll->ifma_addr;
1766 len = rt_msg2(RTM_NEWMADDR2, &info, 0, 0);
1779 len = rt_msg2(RTM_NEWMADDR2, &info, (caddr_t)cp, 0);
1782 ifmam->ifmam_addrs = info.rti_addrs;
1797 info.rti_info[RTAX_IFA] = info.rti_info[RTAX_NETMASK] =
1798 info.rti_info[RTAX_BRD] = NULL;