Lines Matching refs:lifr
60 struct lifreq lifr; in initifs() local
107 (void) strncpy(lifr.lifr_name, lifrp->lifr_name, in initifs()
108 sizeof (lifr.lifr_name)); in initifs()
109 if (ioctl(iocsoc, SIOCGLIFFLAGS, (char *)&lifr) < 0) { in initifs()
114 if (!(lifr.lifr_flags & IFF_IPV6) || in initifs()
115 !(lifr.lifr_flags & IFF_MULTICAST) || in initifs()
116 (lifr.lifr_flags & IFF_LOOPBACK)) in initifs()
119 ifp = if_ifwithname(lifr.lifr_name); in initifs()
122 if (lifr.lifr_flags & IFF_POINTOPOINT) in initifs()
124 if (lifr.lifr_flags & IFF_NORTEXCH) in initifs()
126 if (lifr.lifr_flags & IFF_PRIVATE) in initifs()
128 if (lifr.lifr_flags & IFF_UP) { in initifs()
151 if (ioctl(iocsoc, SIOCGLIFADDR, (char *)&lifr) < 0) { in initifs()
158 ((struct sockaddr_in6 *)&lifr.lifr_addr)->sin6_addr; in initifs()
159 if (ioctl(iocsoc, SIOCGLIFDSTADDR, (char *)&lifr) < 0) { in initifs()
166 &lifr.lifr_dstaddr)->sin6_addr; in initifs()
173 if (ioctl(iocsoc, SIOCGLIFSUBNET, (char *)&lifr) < 0) { in initifs()
182 if (lifr.lifr_addrlen < 0 || in initifs()
183 lifr.lifr_addrlen > IPV6_ABITS) { in initifs()
187 lifr.lifr_addrlen); in initifs()
190 ifs.int_prefix_length = lifr.lifr_addrlen; in initifs()
192 &lifr.lifr_subnet)->sin6_addr; in initifs()
195 if (ioctl(iocsoc, SIOCGLIFMETRIC, (char *)&lifr) < 0 || in initifs()
196 lifr.lifr_metric < 0) in initifs()
199 ifs.int_metric = lifr.lifr_metric + 1; in initifs()
201 if (ioctl(iocsoc, SIOCGLIFINDEX, (char *)&lifr) < 0) { in initifs()
205 ifs.int_ifindex = lifr.lifr_index; in initifs()
207 if (ioctl(iocsoc, SIOCGLIFMTU, (char *)&lifr) < 0) { in initifs()
216 if (lifr.lifr_mtu < IPV6_MIN_MTU) in initifs()
219 ifs.int_mtu = lifr.lifr_mtu; in initifs()
294 (char *)malloc((size_t)strlen(lifr.lifr_name) + 1); in initifs()
300 (void) strcpy(ifp->int_name, lifr.lifr_name); in initifs()
302 (char *)malloc((size_t)strlen(lifr.lifr_name) + 1); in initifs()
309 (void) strcpy(ifp->int_ifbase, lifr.lifr_name); in initifs()