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