Lines Matching refs:lifr
375 struct lifreq lifr; in read_ipv6_interface() local
376 struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)&lifr.lifr_addr; in read_ipv6_interface()
381 BZERO(&lifr, sizeof (lifr)); in read_ipv6_interface()
382 (void) strlcpy(lifr.lifr_name, ifname, sizeof (lifr.lifr_name)); in read_ipv6_interface()
385 if (myioctl(ip6fd, SIOCGLIFMTU, &lifr) < 0) { in read_ipv6_interface()
386 warn("Couldn't get IPv6 MTU on %s: %m", lifr.lifr_name); in read_ipv6_interface()
389 if (lifr.lifr_mtu != 0 && in read_ipv6_interface()
391 lcp_allowoptions[unit].mru > lifr.lifr_mtu)) in read_ipv6_interface()
392 lcp_allowoptions[unit].mru = lifr.lifr_mtu; in read_ipv6_interface()
397 if (myioctl(ip6fd, SIOCGLIFADDR, &lifr) < 0) { in read_ipv6_interface()
399 lifr.lifr_name); in read_ipv6_interface()
408 if (myioctl(ip6fd, SIOCGLIFDSTADDR, &lifr) < 0) { in read_ipv6_interface()
410 lifr.lifr_name); in read_ipv6_interface()
651 struct lifreq lifr; in unplumb_ipif() local
666 BZERO(&lifr, sizeof (lifr)); in unplumb_ipif()
667 (void) strlcpy(lifr.lifr_name, ifname, in unplumb_ipif()
668 sizeof (lifr.lifr_name)); in unplumb_ipif()
669 if (myioctl(ipfd, SIOCGLIFMUXID, (caddr_t)&lifr) < 0) { in unplumb_ipif()
672 id = lifr.lifr_ip_muxid; in unplumb_ipif()
3135 struct lifreq lifr; in plumb_ip6if() local
3168 BZERO(&lifr, sizeof (lifr)); in plumb_ip6if()
3169 if (myioctl(tmpfd, SIOCGLIFFLAGS, &lifr) < 0) { in plumb_ip6if()
3173 lifr.lifr_flags |= IFF_IPV6; in plumb_ip6if()
3174 lifr.lifr_flags &= ~(IFF_BROADCAST | IFF_IPV4); in plumb_ip6if()
3175 lifr.lifr_ppa = ifunit; in plumb_ip6if()
3176 (void) strlcpy(lifr.lifr_name, ifname, sizeof (lifr.lifr_name)); in plumb_ip6if()
3177 if (myioctl(tmpfd, SIOCSLIFNAME, &lifr) < 0) { in plumb_ip6if()
3194 lifr.lifr_ip_muxid = ip6muxid; in plumb_ip6if()
3195 lifr.lifr_arp_muxid = -1; in plumb_ip6if()
3196 if (myioctl(ip6fd, SIOCSLIFMUXID, (caddr_t)&lifr) < 0) { in plumb_ip6if()
3223 struct lifreq lifr; in unplumb_ip6if() local
3239 BZERO(&lifr, sizeof (lifr)); in unplumb_ip6if()
3240 (void) strlcpy(lifr.lifr_name, ifname, in unplumb_ip6if()
3241 sizeof (lifr.lifr_name)); in unplumb_ip6if()
3242 if (myioctl(ip6fd, SIOCGLIFMUXID, (caddr_t)&lifr) < 0) { in unplumb_ip6if()
3245 id = lifr.lifr_ip_muxid; in unplumb_ip6if()
3292 struct lifreq lifr; local
3303 BZERO(&lifr, sizeof (lifr));
3304 (void) strlcpy(lifr.lifr_name, ifname, sizeof (lifr.lifr_name));
3305 if (myioctl(fd, SIOCGLIFFLAGS, &lifr) < 0) {
3311 lifr.lifr_flags |= f;
3313 lifr.lifr_flags &= ~f;
3315 (void) strlcpy(lifr.lifr_name, ifname, sizeof (lifr.lifr_name));
3316 if (myioctl(fd, SIOCSLIFFLAGS, &lifr) < 0) {
3384 struct lifreq lifr; local
3395 BZERO(&lifr, sizeof (lifr));
3396 (void) strlcpy(lifr.lifr_name, ifname, sizeof (lifr.lifr_name));
3397 lifr.lifr_mtu = mtu;
3398 if (myioctl(s, SIOCSLIFMTU, &lifr) < 0) {
3399 error("Couldn't set IPv6 MTU (%s): %m", lifr.lifr_name);
3419 struct lifreq lifr; local
3444 BZERO(&lifr, sizeof (lifr));
3445 (void) strlcpy(lifr.lifr_name, ifname, sizeof (lifr.lifr_name));
3447 IN6_LLTOKEN_FROM_EUI64(lifr, sin6, ourid);
3448 if (myioctl(fd, SIOCSLIFTOKEN, &lifr) < 0) {
3449 error("Couldn't set IPv6 token (%s): %m", lifr.lifr_name);
3456 IN6_LLADDR_FROM_EUI64(lifr, sin6, ourid);
3457 if (myioctl(fd, SIOCSLIFADDR, &lifr) < 0) {
3459 lifr.lifr_name);
3466 BZERO(&lifr, sizeof (lifr));
3467 (void) strlcpy(lifr.lifr_name, ifname, sizeof (lifr.lifr_name));
3468 IN6_LLADDR_FROM_EUI64(lifr, sin6, hisid);
3469 if (myioctl(fd, SIOCSLIFDSTADDR, &lifr) < 0) {
3471 lifr.lifr_name);