Lines Matching refs:lifr

58 	struct lifreq lifr;  in initifs()  local
105 (void) strncpy(lifr.lifr_name, lifrp->lifr_name, in initifs()
106 sizeof (lifr.lifr_name)); in initifs()
107 if (ioctl(iocsoc, SIOCGLIFFLAGS, (char *)&lifr) < 0) { in initifs()
112 if (!(lifr.lifr_flags & IFF_IPV6) || in initifs()
113 !(lifr.lifr_flags & IFF_MULTICAST) || in initifs()
114 (lifr.lifr_flags & IFF_LOOPBACK)) in initifs()
117 ifp = if_ifwithname(lifr.lifr_name); in initifs()
120 if (lifr.lifr_flags & IFF_POINTOPOINT) in initifs()
122 if (lifr.lifr_flags & IFF_NORTEXCH) in initifs()
124 if (lifr.lifr_flags & IFF_PRIVATE) in initifs()
126 if (lifr.lifr_flags & IFF_UP) { in initifs()
149 if (ioctl(iocsoc, SIOCGLIFADDR, (char *)&lifr) < 0) { in initifs()
156 ((struct sockaddr_in6 *)&lifr.lifr_addr)->sin6_addr; in initifs()
157 if (ioctl(iocsoc, SIOCGLIFDSTADDR, (char *)&lifr) < 0) { in initifs()
164 &lifr.lifr_dstaddr)->sin6_addr; in initifs()
171 if (ioctl(iocsoc, SIOCGLIFSUBNET, (char *)&lifr) < 0) { in initifs()
180 if (lifr.lifr_addrlen < 0 || in initifs()
181 lifr.lifr_addrlen > IPV6_ABITS) { in initifs()
185 lifr.lifr_addrlen); in initifs()
188 ifs.int_prefix_length = lifr.lifr_addrlen; in initifs()
190 &lifr.lifr_subnet)->sin6_addr; in initifs()
193 if (ioctl(iocsoc, SIOCGLIFMETRIC, (char *)&lifr) < 0 || in initifs()
194 lifr.lifr_metric < 0) in initifs()
197 ifs.int_metric = lifr.lifr_metric + 1; in initifs()
199 if (ioctl(iocsoc, SIOCGLIFINDEX, (char *)&lifr) < 0) { in initifs()
203 ifs.int_ifindex = lifr.lifr_index; in initifs()
205 if (ioctl(iocsoc, SIOCGLIFMTU, (char *)&lifr) < 0) { in initifs()
214 if (lifr.lifr_mtu < IPV6_MIN_MTU) in initifs()
217 ifs.int_mtu = lifr.lifr_mtu; in initifs()
292 (char *)malloc((size_t)strlen(lifr.lifr_name) + 1); in initifs()
298 (void) strcpy(ifp->int_name, lifr.lifr_name); in initifs()
300 (char *)malloc((size_t)strlen(lifr.lifr_name) + 1); in initifs()
307 (void) strcpy(ifp->int_ifbase, lifr.lifr_name); in initifs()