Lines Matching defs:lifr

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