Lines Matching defs:lifr

96 static struct		lifreq lifr;
417 af = lifr.lifr_addr.ss_family = afp->af_af;
616 struct lifreq lifr;
855 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
856 (void) ioctl(s, SIOCLIFREMOVEIF, (caddr_t)&lifr);
882 set_mask_lifreq(struct lifreq *lifr, struct sockaddr_storage *addr,
890 lifr->lifr_addr = g_netmask;
902 lifr->lifr_addr = *mask;
905 lifr->lifr_addr = g_netmask;
912 lifr->lifr_addr = *mask;
983 set_mask_lifreq(&lifr, &laddr, &netmask);
1004 * lifr.lifr_addr, which is updated by set_mask_lifreq()
1007 prefixlen = mask2plen((struct sockaddr *)&lifr.lifr_addr);
1042 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
1043 /* lifr.lifr_addr already contains netmask from set_mask_lifreq() */
1044 if (ioctl(s, SIOCSLIFNETMASK, (caddr_t)&lifr) < 0)
1054 lifr.lifr_name, afp->af_af,
1057 lifr.lifr_addr = laddr;
1058 lifr.lifr_addr.ss_family = afp->af_af;
1059 if (ioctl(s, SIOCSLIFADDR, (caddr_t)&lifr) < 0) {
1065 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
1066 lifr.lifr_addr = sav_netmask;
1067 (void) ioctl(s, SIOCSLIFNETMASK, (caddr_t)&lifr);
1320 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
1322 (void) memcpy(&lifr.lifr_addr, &laddr, sizeof (laddr));
1323 if (ioctl(s, SIOCSLIFADDR, (caddr_t)&lifr) < 0)
1352 lifr.lifr_addr = subnet;
1353 lifr.lifr_addrlen = prefixlen;
1354 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
1355 if (ioctl(s, SIOCSLIFSUBNET, (caddr_t)&lifr) < 0)
1377 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
1378 (void) memcpy(&lifr.lifr_addr, &netmask, sizeof (netmask));
1379 if (ioctl(s, SIOCSLIFNETMASK, (caddr_t)&lifr) < 0)
1401 (void) memset(&lifr.lifr_addr, 0, sizeof (lifr.lifr_addr));
1402 lifr.lifr_addr.ss_family = af;
1406 sin6 = (struct sockaddr_in6 *)&lifr.lifr_addr;
1417 sin = (struct sockaddr_in *)&lifr.lifr_addr;
1430 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
1431 if (ioctl(s, SIOCSLIFNETMASK, (caddr_t)&lifr) < 0)
1450 (void) strncpy(lifr.lifr_name, name,
1451 sizeof (lifr.lifr_name));
1452 if (ioctl(s, SIOCGLIFADDR, (caddr_t)&lifr) < 0) {
1457 if (ioctl(s, SIOCSLIFADDR, (caddr_t)&lifr) < 0)
1464 (void) memcpy(&lifr.lifr_addr, &broadaddr, sizeof (broadaddr));
1465 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
1466 if (ioctl(s, SIOCSLIFBRDADDR, (caddr_t)&lifr) < 0)
1478 (*afp->af_getaddr)(addr, (struct sockaddr *)&lifr.lifr_addr, NULL);
1479 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
1480 if (ioctl(s, SIOCSLIFDSTADDR, (caddr_t)&lifr) < 0)
1492 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
1493 if (ioctl(s, SIOCGLIFFLAGS, (caddr_t)&lifr) < 0)
1499 if ((value & IFF_NOFAILOVER) && (lifr.lifr_flags & IFF_UP)) {
1506 lifr.lifr_flags &= ~IFF_UP;
1507 (void) ioctl(s, SIOCSLIFFLAGS, (caddr_t)&lifr);
1511 lifr.lifr_flags &= ~value;
1513 (lifr.lifr_flags & IFF_DUPLICATE)) {
1522 value = lifr.lifr_flags;
1523 if (ioctl(s, SIOCGLIFADDR, (caddr_t)&lifr) >= 0)
1524 (void) ioctl(s, SIOCSLIFADDR, (caddr_t)&lifr);
1525 lifr.lifr_flags = value;
1528 lifr.lifr_flags |= value;
1541 if (lifnum(lifr.lifr_name) == 0 &&
1542 (lifr.lifr_flags & (IFF_UP|IFF_IPV6)) == (IFF_UP|IFF_IPV6) &&
1562 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
1563 if (ioctl(s, SIOCSLIFFLAGS, (caddr_t)&lifr) < 0)
1567 lifr.lifr_flags |= IFF_UP;
1568 if (ioctl(s, SIOCSLIFFLAGS, (caddr_t)&lifr) < 0)
1579 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
1580 lifr.lifr_metric = atoi(val);
1581 if (ioctl(s, SIOCSLIFMETRIC, (caddr_t)&lifr) < 0)
1590 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
1591 lifr.lifr_mtu = atoi(val);
1592 if (ioctl(s, SIOCSLIFMTU, (caddr_t)&lifr) < 0)
1601 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
1602 lifr.lifr_index = atoi(val);
1603 if (ioctl(s, SIOCSLIFINDEX, (caddr_t)&lifr) < 0)
1712 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
1715 if (fd == -1 || ioctl(fd, SIOCGLIFFLAGS, &lifr) == -1) {
1722 if (fd == -1 || ioctl(fd, SIOCGLIFFLAGS, &lifr) == -1) {
1730 if (lifr.lifr_flags & (IFF_VIRTUAL|IFF_IPMP))
1792 sizeof (lifr.lifr_name));
1883 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
1884 (void) memset(&lifr.lifr_addr, 0, sizeof (lifr.lifr_addr));
1888 if (ioctl(s, SIOCLIFADDIF, (caddr_t)&lifr) < 0)
1892 lifr.lifr_name);
1893 (void) strncpy(name, lifr.lifr_name, sizeof (name));
1899 set_mask_lifreq(&lifr, &laddr, &mask);
1928 * lifr.lifr_addr, which is updated by set_mask_lifreq()
1931 prefixlen = mask2plen((struct sockaddr *)&lifr.lifr_addr);
1954 * lifr.lifr_addr already contains netmask from
1957 if (ioctl(s, SIOCSLIFNETMASK, (caddr_t)&lifr) < 0)
1962 lifr.lifr_addr = laddr;
1963 if (ioctl(s, SIOCSLIFADDR, (caddr_t)&lifr) < 0)
2042 lifr.lifr_addr = laddr;
2043 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
2044 if (ioctl(s, SIOCLIFREMOVEIF, (caddr_t)&lifr) < 0) {
2081 (void) memcpy(&lifr.lifr_addr, &token, sizeof (token));
2082 lifr.lifr_addrlen = prefixlen;
2083 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
2084 if (ioctl(s, SIOCSLIFTOKEN, (caddr_t)&lifr) < 0) {
2291 (void) strlcpy(lifr.lifr_name, ifname, sizeof (lifr.lifr_name));
2293 if (ioctl(s, SIOCGLIFFLAGS, &lifr) < 0) {
2298 if (lifr.lifr_flags & IFF_IPMP) {
2303 if (lifr.lifr_flags & IFF_VIRTUAL) {
2395 * global variable lifr.
2417 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
2418 if (ioctl(s, SIOCGLIFFLAGS, (caddr_t)&lifr) < 0) {
2421 flags = lifr.lifr_flags;
2434 if (ioctl(*muxid_fd, SIOCGLIFMUXID, (caddr_t)&lifr) < 0) {
2440 lifr.lifr_arp_muxid, lifr.lifr_ip_muxid);
2449 if (lifr.lifr_arp_muxid != 0) {
2451 lifr.lifr_arp_muxid)) < 0) {
2463 *orig_arpid = lifr.lifr_arp_muxid;
2464 lifr.lifr_arp_muxid = 0;
2466 (caddr_t)&lifr);
2473 lifr.lifr_arp_muxid) < 0) {
2482 lifr.lifr_ip_muxid)) < 0) {
2486 lifr.lifr_arp_muxid = *orig_arpid;
2487 (void) ioctl(*muxid_fd, SIOCSLIFMUXID, (caddr_t)&lifr);
2491 if (ioctl(*muxfd, I_PUNLINK, lifr.lifr_ip_muxid) < 0) {
2495 lifr.lifr_arp_muxid = *orig_arpid;
2496 (void) ioctl(*muxid_fd, SIOCSLIFMUXID, (caddr_t)&lifr);
2506 * ip_domux2fd(). In ip_domux2fd(), the global variable lifr is initialized
2507 * and ip_plink() needs information in lifr. So ip_domux2fd() and ip_plink()
2547 lifr.lifr_arp_muxid = orig_arpid;
2548 lifr.lifr_ip_muxid = ip_muxid;
2549 (void) ioctl(muxid_fd, SIOCSLIFMUXID, (caddr_t)&lifr);
2762 (void) strlcpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
2763 lifr.lifr_zoneid = zoneid;
2764 if (ioctl(s, SIOCSLIFZONE, (caddr_t)&lifr) == -1)
2774 (void) strlcpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
2775 lifr.lifr_zoneid = ALL_ZONES;
2776 if (ioctl(s, SIOCSLIFZONE, (caddr_t)&lifr) == -1)
2789 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
2805 (void) strncpy(lifr.lifr_name, arg, LIFNAMSIZ);
2808 lifr.lifr_index = ifindex;
2810 if (ioctl(s, SIOCGLIFUSESRC, (caddr_t)&lifr) != 0)
2812 lifr.lifr_index = 0;
2817 lifr.lifr_name, lifr.lifr_index);
2819 if (ioctl(s, SIOCSLIFUSESRC, (caddr_t)&lifr) == -1) {
2842 (void) strncpy(lifr.lifr_name, ifname, sizeof (lifr.lifr_name));
2843 if (ioctl(s, SIOCGLIFFLAGS, (caddr_t)&lifr) < 0) {
2846 flags = lifr.lifr_flags;
2861 (void) strncpy(lifr.lifr_name, ifname, sizeof (lifr.lifr_name));
2862 if (ioctl(s, SIOCGLIFMETRIC, (caddr_t)&lifr) < 0) {
2865 if (lifr.lifr_metric)
2866 (void) printf(" metric %d", lifr.lifr_metric);
2868 if (ioctl(s, SIOCGLIFMTU, (caddr_t)&lifr) >= 0)
2869 (void) printf(" mtu %u", lifr.lifr_mtu);
2873 if (ioctl(s, SIOCGLIFINDEX, (caddr_t)&lifr) >= 0)
2874 (void) printf(" index %d", lifr.lifr_index);
2879 if (ioctl(s, SIOCGLIFZONE, (caddr_t)&lifr) >= 0 &&
2880 lifr.lifr_zoneid != getzoneid() &&
2881 lifr.lifr_zoneid != GLOBAL_ZONEID) {
2884 if (lifr.lifr_zoneid == ALL_ZONES) {
2886 } else if (getzonenamebyid(lifr.lifr_zoneid, zone_name,
2888 (void) printf("\n\tzone %d", lifr.lifr_zoneid);
2895 if (ioctl(s, SIOCGLIFINDEX, (caddr_t)&lifr) >= 0) {
2896 lifs.lifs_ifindex = lifr.lifr_index;
2948 if (ioctl(s, SIOCGLIFUSESRC, (caddr_t)&lifr) == 0) {
2949 if (lifr.lifr_index != 0) {
2950 if (if_indextoname(lifr.lifr_index,
2953 lifr.lifr_index);
2974 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
2975 if (ioctl(s, SIOCGLIFFLAGS, (caddr_t)&lifr) < 0) {
2979 flags = lifr.lifr_flags;
3034 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
3036 if (ioctl(s, SIOCGLIFFLAGS, (caddr_t)&lifr) < 0) {
3039 flags = lifr.lifr_flags;
3082 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
3083 if (ioctl(s, SIOCGLIFMETRIC, (caddr_t)&lifr) < 0) {
3086 if (lifr.lifr_metric)
3087 (void) printf(" metric %d ", lifr.lifr_metric);
3090 ioctl(s, SIOCGLIFMTU, (caddr_t)&lifr) >= 0)
3091 (void) printf(" mtu %d", lifr.lifr_metric);
3095 if (ioctl(s, SIOCGLIFINDEX, (caddr_t)&lifr) >= 0)
3096 (void) printf(" index %d", lifr.lifr_index);
3099 if (ioctl(s, SIOCGLIFUSESRC, (caddr_t)&lifr) == 0) {
3100 if (lifr.lifr_index != 0) {
3101 if (if_indextoname(lifr.lifr_index,
3236 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
3237 if (ioctl(s, SIOCGLIFADDR, (caddr_t)&lifr) < 0) {
3242 (void) memset(&lifr.lifr_addr, 0,
3243 sizeof (lifr.lifr_addr));
3247 sin = (struct sockaddr_in *)&lifr.lifr_addr;
3254 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
3255 if (ioctl(s, SIOCGLIFSUBNET, (caddr_t)&lifr) < 0) {
3260 (void) memset(&lifr.lifr_addr, 0,
3261 sizeof (lifr.lifr_addr));
3266 sin = (struct sockaddr_in *)&lifr.lifr_addr;
3270 lifr.lifr_addrlen);
3276 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
3277 if (ioctl(s, SIOCGLIFNETMASK, (caddr_t)&lifr) < 0) {
3280 (void) memset(&lifr.lifr_addr, 0, sizeof (lifr.lifr_addr));
3283 ((struct sockaddr_in *)&lifr.lifr_addr)->sin_addr;
3285 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
3286 if (ioctl(s, SIOCGLIFDSTADDR, (caddr_t)&lifr) < 0) {
3288 (void) memset(&lifr.lifr_addr, 0,
3289 sizeof (lifr.lifr_addr));
3293 sin = (struct sockaddr_in *)&lifr.lifr_dstaddr;
3298 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
3299 if (ioctl(s, SIOCGLIFBRDADDR, (caddr_t)&lifr) < 0) {
3301 (void) memset(&lifr.lifr_addr, 0,
3302 sizeof (lifr.lifr_addr));
3306 sin = (struct sockaddr_in *)&lifr.lifr_addr;
3314 if (ioctl(s, SIOCGLIFGROUPNAME, &lifr) >= 0 &&
3315 lifr.lifr_groupname[0] != '\0') {
3316 (void) printf("\n\tgroupname %s", lifr.lifr_groupname);
3335 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
3336 if (ioctl(s, SIOCGLIFADDR, (caddr_t)&lifr) < 0) {
3341 (void) memset(&lifr.lifr_addr, 0,
3342 sizeof (lifr.lifr_addr));
3346 sin6 = (struct sockaddr_in6 *)&lifr.lifr_addr;
3350 lifr.lifr_addrlen);
3355 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
3356 if (ioctl(s, SIOCGLIFSUBNET, (caddr_t)&lifr) < 0) {
3361 (void) memset(&lifr.lifr_addr, 0,
3362 sizeof (lifr.lifr_addr));
3366 sin6 = (struct sockaddr_in6 *)&lifr.lifr_addr;
3372 lifr.lifr_addrlen);
3378 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
3379 if (ioctl(s, SIOCGLIFDSTADDR, (caddr_t)&lifr) < 0) {
3381 (void) memset(&lifr.lifr_addr, 0,
3382 sizeof (lifr.lifr_addr));
3386 sin6 = (struct sockaddr_in6 *)&lifr.lifr_dstaddr;
3394 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
3395 if (ioctl(s, SIOCGLIFTOKEN, (caddr_t)&lifr) < 0) {
3397 (void) memset(&lifr.lifr_addr, 0,
3398 sizeof (lifr.lifr_addr));
3402 sin6 = (struct sockaddr_in6 *)&lifr.lifr_addr;
3406 lifr.lifr_addrlen);
3408 if (ioctl(s, SIOCGLIFLNKINFO, (caddr_t)&lifr) < 0) {
3415 lifr.lifr_ifinfo.lir_maxhops,
3416 lifr.lifr_ifinfo.lir_reachtime,
3417 lifr.lifr_ifinfo.lir_reachretrans,
3418 lifr.lifr_ifinfo.lir_maxmtu);
3423 if (ioctl(s, SIOCGLIFGROUPNAME, &lifr) >= 0 &&
3424 lifr.lifr_groupname[0] != '\0') {
3425 (void) printf("\n\tgroupname %s", lifr.lifr_groupname);
3445 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
3446 if (ioctl(s, SIOCGLIFADDR, (caddr_t)&lifr) < 0) {
3451 (void) memset(&lifr.lifr_addr, 0,
3452 sizeof (lifr.lifr_addr));
3456 sin = (struct sockaddr_in *)&lifr.lifr_addr;
3461 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
3462 if (ioctl(s, SIOCGLIFSUBNET, (caddr_t)&lifr) < 0) {
3467 (void) memset(&lifr.lifr_addr, 0,
3468 sizeof (lifr.lifr_addr));
3473 sin = (struct sockaddr_in *)&lifr.lifr_addr;
3478 lifr.lifr_addrlen);
3480 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
3481 if (ioctl(s, SIOCGLIFNETMASK, (caddr_t)&lifr) < 0) {
3484 (void) memset(&lifr.lifr_addr, 0, sizeof (lifr.lifr_addr));
3487 ((struct sockaddr_in *)&lifr.lifr_addr)->sin_addr;
3489 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
3490 if (ioctl(s, SIOCGLIFDSTADDR, (caddr_t)&lifr) < 0) {
3492 (void) memset(&lifr.lifr_addr, 0,
3493 sizeof (lifr.lifr_addr));
3497 sin = (struct sockaddr_in *)&lifr.lifr_dstaddr;
3502 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
3503 if (ioctl(s, SIOCGLIFBRDADDR, (caddr_t)&lifr) < 0) {
3505 (void) memset(&lifr.lifr_addr, 0,
3506 sizeof (lifr.lifr_addr));
3510 sin = (struct sockaddr_in *)&lifr.lifr_addr;
3519 if (ioctl(s, SIOCGLIFGROUPNAME, &lifr) >= 0 &&
3520 lifr.lifr_groupname[0] != '\0') {
3521 (void) printf(" group %s ", lifr.lifr_groupname);
3543 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
3544 if (ioctl(s, SIOCGLIFADDR, (caddr_t)&lifr) < 0) {
3549 (void) memset(&lifr.lifr_addr, 0,
3550 sizeof (lifr.lifr_addr));
3554 sin6 = (struct sockaddr_in6 *)&lifr.lifr_addr;
3557 lifr.lifr_addrlen);
3560 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
3561 if (ioctl(s, SIOCGLIFSUBNET, (caddr_t)&lifr) < 0) {
3566 (void) memset(&lifr.lifr_addr, 0,
3567 sizeof (lifr.lifr_addr));
3571 sin6 = (struct sockaddr_in6 *)&lifr.lifr_addr;
3577 lifr.lifr_addrlen);
3581 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
3582 if (ioctl(s, SIOCGLIFDSTADDR, (caddr_t)&lifr) < 0) {
3584 (void) memset(&lifr.lifr_addr, 0,
3585 sizeof (lifr.lifr_addr));
3589 sin6 = (struct sockaddr_in6 *)&lifr.lifr_dstaddr;
3595 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
3596 if (ioctl(s, SIOCGLIFTOKEN, (caddr_t)&lifr) < 0) {
3598 (void) memset(&lifr.lifr_addr, 0,
3599 sizeof (lifr.lifr_addr));
3603 sin6 = (struct sockaddr_in6 *)&lifr.lifr_addr;
3607 lifr.lifr_addrlen);
3612 if (ioctl(s, SIOCGLIFGROUPNAME, &lifr) >= 0 &&
3613 lifr.lifr_groupname[0] != '\0') {
3614 (void) printf(" group %s ", lifr.lifr_groupname);
3709 * ppa in lifr.lifr_name, if `ifname'="ipmp".
3711 (void) strlcpy(lifr.lifr_name, (ifname ? ifname : "ipmp"),
3712 sizeof (lifr.lifr_name));
3715 istatus = ipadm_create_if(iph, lifr.lifr_name, af, flags);
3727 if (ioctl(s6, SIOCGLIFFLAGS, &lifr) == 0) {
3728 lifr.lifr_flags |= IFF_UP;
3729 (void) ioctl(s6, SIOCSLIFFLAGS, &lifr);
3737 if (strcmp(lifr.lifr_name, grname) != 0) {
3738 (void) strlcpy(lifr.lifr_groupname, grname, LIFGRNAMSIZ);
3739 if (ioctl(s, SIOCSLIFGROUPNAME, &lifr) == -1) {
3893 (void) strncpy(lifr.lifr_name, lifname,
3894 sizeof (lifr.lifr_name));
3922 Perror2(cmd, lifr.lifr_name);
4224 (void) strncpy(lifr.lifr_name, name, sizeof (lifr.lifr_name));
4225 if (ioctl(s, SIOCGLIFADDR, (caddr_t)&lifr) < 0) {
4232 ifaddr = *((struct sockaddr_in *)&lifr.lifr_addr);