Lines Matching refs:lifr
174 struct lifreq lifr; in phyint_init_from_k() local
198 (void) strncpy(lifr.lifr_name, pi->pi_name, sizeof (lifr.lifr_name)); in phyint_init_from_k()
199 lifr.lifr_name[sizeof (lifr.lifr_name) - 1] = '\0'; in phyint_init_from_k()
200 if (ioctl(fd, SIOCGLIFINDEX, (char *)&lifr) < 0) { in phyint_init_from_k()
216 if (!newsock && (pi->pi_index != lifr.lifr_index)) { in phyint_init_from_k()
227 pi->pi_index = lifr.lifr_index; in phyint_init_from_k()
229 if (ioctl(fd, SIOCGLIFFLAGS, (char *)&lifr) < 0) { in phyint_init_from_k()
233 pi->pi_flags = lifr.lifr_flags; in phyint_init_from_k()
253 if (ioctl(fd, SIOCGLIFMTU, (caddr_t)&lifr) < 0) { in phyint_init_from_k()
257 pi->pi_mtu = lifr.lifr_mtu; in phyint_init_from_k()
259 if (ioctl(fd, SIOCGLIFADDR, (char *)&lifr) < 0) { in phyint_init_from_k()
263 sin6 = (struct sockaddr_in6 *)&lifr.lifr_addr; in phyint_init_from_k()
267 if (ioctl(fd, SIOCGLIFTOKEN, (char *)&lifr) < 0) { in phyint_init_from_k()
272 sin6 = (struct sockaddr_in6 *)&lifr.lifr_token; in phyint_init_from_k()
279 pi->pi_token_length = lifr.lifr_addrlen; in phyint_init_from_k()
287 if (ioctl(fd, SIOCGLIFDSTADDR, (char *)&lifr) < 0) { in phyint_init_from_k()
291 sin6 = (struct sockaddr_in6 *)&lifr.lifr_addr; in phyint_init_from_k()
353 (void) strlcpy(lifr.lifr_name, pi->pi_name, LIFNAMSIZ); in phyint_init_from_k()
354 if (ioctl(fd, SIOCGLIFGROUPNAME, &lifr) == -1 || in phyint_init_from_k()
355 lifr.lifr_groupname[0] == '\0') { in phyint_init_from_k()
405 (void) strlcpy(lifr.lifr_name, pi->pi_name, LIFNAMSIZ); in phyint_init_from_k()
406 if (ioctl(fd, SIOCGLIFGROUPNAME, &lifr) == -1 || in phyint_init_from_k()
407 lifr.lifr_groupname[0] == '\0') { in phyint_init_from_k()
424 (void) strncpy(lifr.lifr_name, pi->pi_name, sizeof (lifr.lifr_name)); in phyint_init_from_k()
425 lifr.lifr_name[sizeof (lifr.lifr_name) - 1] = '\0'; in phyint_init_from_k()
426 if (ioctl(fd, SIOCGLIFFLAGS, (char *)&lifr) < 0) { in phyint_init_from_k()
430 if (!(lifr.lifr_flags & IFF_ROUTER) && pi->pi_AdvSendAdvertisements) { in phyint_init_from_k()
431 lifr.lifr_flags |= IFF_ROUTER; in phyint_init_from_k()
433 if (ioctl(fd, SIOCSLIFFLAGS, (char *)&lifr) < 0) { in phyint_init_from_k()
437 pi->pi_flags = lifr.lifr_flags; in phyint_init_from_k()
441 (void) strncpy(lifr.lifr_name, pi->pi_name, sizeof (lifr.lifr_name)); in phyint_init_from_k()
442 lifr.lifr_name[sizeof (lifr.lifr_name) - 1] = '\0'; in phyint_init_from_k()
443 lifr.lifr_ifinfo.lir_maxhops = pi->pi_CurHopLimit; in phyint_init_from_k()
444 lifr.lifr_ifinfo.lir_reachtime = pi->pi_ReachableTime; in phyint_init_from_k()
445 lifr.lifr_ifinfo.lir_reachretrans = pi->pi_RetransTimer; in phyint_init_from_k()
447 lifr.lifr_ifinfo.lir_maxmtu = 0; in phyint_init_from_k()
448 if (ioctl(fd, SIOCSLIFLNKINFO, (char *)&lifr) < 0) { in phyint_init_from_k()
682 struct lifreq lifr; in phyint_reach_random() local
688 bzero(&lifr, sizeof (lifr)); in phyint_reach_random()
689 (void) strlcpy(lifr.lifr_name, pi->pi_name, LIFNAMSIZ); in phyint_reach_random()
690 lifr.lifr_ifinfo.lir_reachtime = pi->pi_ReachableTime; in phyint_reach_random()
691 if (ioctl(pi->pi_sock, SIOCSLIFLNKINFO, (char *)&lifr) < 0) { in phyint_reach_random()
1202 struct lifreq lifr; in prefix_init_from_k() local
1206 (void) strncpy(lifr.lifr_name, pr->pr_name, sizeof (lifr.lifr_name)); in prefix_init_from_k()
1207 lifr.lifr_name[sizeof (lifr.lifr_name) - 1] = '\0'; in prefix_init_from_k()
1208 if (ioctl(sock, SIOCGLIFADDR, (char *)&lifr) < 0) { in prefix_init_from_k()
1212 if (lifr.lifr_addr.ss_family != AF_INET6) { in prefix_init_from_k()
1217 sin6 = (struct sockaddr_in6 *)&lifr.lifr_addr; in prefix_init_from_k()
1220 if (ioctl(sock, SIOCGLIFFLAGS, (char *)&lifr) < 0) { in prefix_init_from_k()
1224 pr->pr_flags = lifr.lifr_flags; in prefix_init_from_k()
1229 if (lifr.lifr_flags & IFF_DHCPRUNNING) { in prefix_init_from_k()
1234 if (!(lifr.lifr_flags & IFF_UP) || in prefix_init_from_k()
1281 if (ioctl(sock, SIOCGLIFSUBNET, (char *)&lifr) < 0) { in prefix_init_from_k()
1286 if (lifr.lifr_subnet.ss_family != AF_INET6) { in prefix_init_from_k()
1296 sin6 = (struct sockaddr_in6 *)&lifr.lifr_subnet; in prefix_init_from_k()
1297 pr->pr_prefix_len = lifr.lifr_addrlen; in prefix_init_from_k()
1403 struct lifreq lifr; in prefix_modify_flags() local
1426 (void) strncpy(lifr.lifr_name, pr->pr_name, sizeof (lifr.lifr_name)); in prefix_modify_flags()
1427 lifr.lifr_name[sizeof (lifr.lifr_name) - 1] = '\0'; in prefix_modify_flags()
1428 if (ioctl(pi->pi_sock, SIOCGLIFFLAGS, (char *)&lifr) < 0) { in prefix_modify_flags()
1437 old_flags = lifr.lifr_flags; in prefix_modify_flags()
1438 lifr.lifr_flags |= onflags; in prefix_modify_flags()
1439 lifr.lifr_flags &= ~offflags; in prefix_modify_flags()
1440 pr->pr_flags = lifr.lifr_flags; in prefix_modify_flags()
1441 if (ioctl(pi->pi_sock, SIOCSLIFFLAGS, (char *)&lifr) < 0) { in prefix_modify_flags()
1447 old_flags, lifr.lifr_flags, onflags, offflags); in prefix_modify_flags()
1460 struct lifreq lifr; in prefix_update_dhcp() local
1462 (void) memset(&lifr, 0, sizeof (lifr)); in prefix_update_dhcp()
1463 (void) strlcpy(lifr.lifr_name, pr->pr_name, sizeof (lifr.lifr_name)); in prefix_update_dhcp()
1464 lifr.lifr_addr.ss_family = AF_INET6; in prefix_update_dhcp()
1465 prefix_set(&((struct sockaddr_in6 *)&lifr.lifr_addr)->sin6_addr, in prefix_update_dhcp()
1467 lifr.lifr_addrlen = pr->pr_prefix_len; in prefix_update_dhcp()
1472 if (ioctl(pr->pr_physical->pi_sock, SIOCSLIFSUBNET, (char *)&lifr) == in prefix_update_dhcp()
1486 struct lifreq lifr; in prefix_update_k() local
1529 (void) strncpy(lifr.lifr_name, pi->pi_name, in prefix_update_k()
1530 sizeof (lifr.lifr_name)); in prefix_update_k()
1531 lifr.lifr_name[sizeof (lifr.lifr_name) - 1] = '\0'; in prefix_update_k()
1532 lifr.lifr_addr.ss_family = AF_UNSPEC; in prefix_update_k()
1533 if (ioctl(pi->pi_sock, SIOCLIFADDIF, (char *)&lifr) < 0) { in prefix_update_k()
1537 (void) strncpy(pr->pr_name, lifr.lifr_name, in prefix_update_k()
1562 (void) strncpy(lifr.lifr_name, pr->pr_name, in prefix_update_k()
1563 sizeof (lifr.lifr_name)); in prefix_update_k()
1564 lifr.lifr_name[sizeof (lifr.lifr_name) - 1] = '\0'; in prefix_update_k()
1583 lifr.lifr_addr.ss_family = AF_UNSPEC; in prefix_update_k()
1584 if (ioctl(pi->pi_sock, SIOCLIFREMOVEIF, (char *)&lifr) < 0 && in prefix_update_k()
1598 (void) strncpy(lifr.lifr_name, pr->pr_name, in prefix_update_k()
1599 sizeof (lifr.lifr_name)); in prefix_update_k()
1600 lifr.lifr_name[sizeof (lifr.lifr_name) - 1] = '\0'; in prefix_update_k()
1601 sin6 = (struct sockaddr_in6 *)&lifr.lifr_addr; in prefix_update_k()
1612 if (ioctl(pi->pi_sock, SIOCSLIFADDR, (char *)&lifr) < 0) { in prefix_update_k()
1623 lifr.lifr_addrlen = pr->pr_prefix_len; in prefix_update_k()
1626 lifr.lifr_addrlen = IPV6_ABITS; in prefix_update_k()
1632 abuf, sizeof (abuf)), lifr.lifr_addrlen); in prefix_update_k()
1634 if (ioctl(pi->pi_sock, SIOCSLIFSUBNET, (char *)&lifr) < 0) { in prefix_update_k()
1647 sin6 = (struct sockaddr_in6 *)&lifr.lifr_addr; in prefix_update_k()
1663 (char *)&lifr) < 0) { in prefix_update_k()
1681 (void) strncpy(lifr.lifr_name, pr->pr_name, in prefix_update_k()
1682 sizeof (lifr.lifr_name)); in prefix_update_k()
1683 lifr.lifr_name[sizeof (lifr.lifr_name) - 1] = '\0'; in prefix_update_k()
1684 sin6 = (struct sockaddr_in6 *)&lifr.lifr_addr; in prefix_update_k()
1693 if (ioctl(pi->pi_sock, SIOCSLIFADDR, (char *)&lifr) < 0) { in prefix_update_k()
1715 (void) strncpy(lifr.lifr_name, pr->pr_name, in prefix_update_k()
1716 sizeof (lifr.lifr_name)); in prefix_update_k()
1717 lifr.lifr_name[sizeof (lifr.lifr_name) - 1] = '\0'; in prefix_update_k()
1718 sin6 = (struct sockaddr_in6 *)&lifr.lifr_addr; in prefix_update_k()
1722 lifr.lifr_addrlen = pr->pr_prefix_len; in prefix_update_k()
1727 abuf, sizeof (abuf)), lifr.lifr_addrlen); in prefix_update_k()
1729 if (ioctl(pi->pi_sock, SIOCSLIFSUBNET, (char *)&lifr) < 0) { in prefix_update_k()
1746 (void) strncpy(lifr.lifr_name, pr->pr_name, in prefix_update_k()
1747 sizeof (lifr.lifr_name)); in prefix_update_k()
1748 lifr.lifr_name[sizeof (lifr.lifr_name) - 1] = '\0'; in prefix_update_k()
1749 sin6 = (struct sockaddr_in6 *)&lifr.lifr_addr; in prefix_update_k()
1753 lifr.lifr_addrlen = IPV6_ABITS; in prefix_update_k()
1758 abuf, sizeof (abuf)), lifr.lifr_addrlen); in prefix_update_k()
1760 if (ioctl(pi->pi_sock, SIOCSLIFSUBNET, (char *)&lifr) < 0) { in prefix_update_k()