Lines Matching defs:lifr

77 	struct lifreq lifr;
105 (void) strlcpy(lifr.lifr_name, pname, LIFNAMSIZ);
107 if (ioctl(fd, SIOCGLIFINDEX, &lifr) == -1) {
112 pif->pif_index = lifr.lifr_index;
118 if (ioctl(fd, SIOCGLIFFLAGS, &lifr) == -1) {
124 if (lifr.lifr_flags & IFF_VRRP) {
131 if (ioctl(fd, SIOCGLIFMTU, &lifr) == -1) {
136 pif->pif_max = lifr.lifr_mtu;
151 if (ioctl(fd, SIOCGLIFGROUPNAME, &lifr) == -1) {
157 if (lifr.lifr_groupname[0] != '\0') {
158 (void) strlcpy(lifgr.gi_grname, lifr.lifr_groupname,
181 (void) strlcpy(lifr.lifr_name, pif->pif_grifname,
184 if (ioctl(fd, SIOCGLIFINDEX, &lifr) == -1) {
187 "for %s", lifr.lifr_name);
190 pif->pif_grindex = lifr.lifr_index;
384 lif->v6 = ((struct sockaddr_in6 *)&lifr.lf)->sin6_addr; \
386 lif->v4 = ((struct sockaddr_in *)&lifr.lf)->sin_addr.s_addr; \
408 struct lifreq lifr;
433 (void) strlcpy(lifr.lifr_name, lname, LIFNAMSIZ);
437 if (ioctl(fd, SIOCGLIFMTU, &lifr) == -1)
440 lif->lif_max = lifr.lifr_mtu;
442 if (ioctl(fd, SIOCGLIFADDR, &lifr) == -1) {
452 if (ioctl(fd, SIOCGLIFNETMASK, &lifr) == -1) {
462 if (ioctl(fd, SIOCGLIFFLAGS, &lifr) == -1) {
467 lif->lif_flags = lifr.lifr_flags;
473 if ((lifr.lifr_flags & IFF_RUNNING) && !pif->pif_running) {
475 } else if (!(lifr.lifr_flags & IFF_RUNNING) && pif->pif_running) {
479 if (lifr.lifr_flags & IFF_POINTOPOINT) {
480 if (ioctl(fd, SIOCGLIFDSTADDR, &lifr) == -1) {
487 } else if (!pif->pif_isv6 && (lifr.lifr_flags & IFF_BROADCAST)) {
488 if (ioctl(fd, SIOCGLIFBRDADDR, &lifr) == -1) {
495 ((struct sockaddr_in *)&lifr.lifr_broadaddr)->sin_addr.
670 struct lifreq lifr;
674 (void) memset(&lifr, 0, sizeof (struct lifreq));
675 (void) strlcpy(lifr.lifr_name, lif->lif_name, LIFNAMSIZ);
680 if (ioctl(fd, ioccmd, &lifr) == -1) {
691 (struct sockaddr_in6 *)&lifr.lifr_addr;
703 (struct sockaddr_in *)&lifr.lifr_addr;
732 struct lifreq lifr;
735 (void) memset(&lifr, 0, sizeof (struct lifreq));
736 (void) strlcpy(lifr.lifr_name, lif->lif_name, LIFNAMSIZ);
741 if (ioctl(fd, SIOCGLIFFLAGS, &lifr) == -1) {
753 if ((lif->lif_flags ^ lifr.lifr_flags) & DHCP_IFF_WATCH) {
756 lifr.lifr_flags, (lif->lif_flags ^ lifr.lifr_flags) &
764 if (ioctl(fd, SIOCGLIFINDEX, &lifr) == -1) {
771 if (lifr.lifr_index != pif->pif_index) {
774 lif->lif_name, pif->pif_index, lifr.lifr_index);
779 (void) strlcpy(lifr.lifr_name, pif->pif_grifname, LIFNAMSIZ);
781 if (ioctl(fd, SIOCGLIFINDEX, &lifr) == -1) {
784 "failed on %s", lifr.lifr_name);
789 if (lifr.lifr_index != pif->pif_grindex) {
791 "on %s changed: %u to %u", lifr.lifr_name,
792 pif->pif_grindex, lifr.lifr_index);
843 struct lifreq lifr;
860 (void) memset(&lifr, 0, sizeof (struct lifreq));
861 (void) strlcpy(lifr.lifr_name, lif->lif_name, LIFNAMSIZ);
865 if (ioctl(fd, SIOCGLIFFLAGS, &lifr) == -1) {
872 lif->lif_flags = lifr.lifr_flags;
874 if (dhcponly && !(lifr.lifr_flags & IFF_DHCPRUNNING)) {
877 lif->lif_name, lifr.lifr_flags);
881 (void) memset(&lifr.lifr_addr, 0, sizeof (lifr.lifr_addr));
884 (struct sockaddr_in6 *)&lifr.lifr_addr;
890 (struct sockaddr_in *)&lifr.lifr_addr;
896 if (ioctl(fd, SIOCSLIFADDR, &lifr) == -1) {
909 if (ioctl(fd, SIOCSLIFDSTADDR, &lifr) == -1) {
915 if (ioctl(fd, SIOCSLIFBRDADDR, &lifr) == -1) {
928 if (ioctl(fd, SIOCSLIFNETMASK, &lifr) == -1) {
937 if (ioctl(fd, SIOCGLIFNETMASK, &lifr) == -1) {
944 ((struct sockaddr_in *)&lifr.lifr_addr)->
966 struct lifreq lifr;
981 (void) memset(&lifr, 0, sizeof (lifr));
982 (void) strlcpy(lifr.lifr_name, pif->pif_name, sizeof (lifr.lifr_name));
983 if (ioctl(v6_sock_fd, SIOCLIFADDIF, &lifr) == -1) {
989 sin6 = (struct sockaddr_in6 *)&lifr.lifr_addr;
992 if (ioctl(v6_sock_fd, SIOCSLIFNETMASK, &lifr) == -1) {
994 lifr.lifr_name);
1000 if (ioctl(v6_sock_fd, SIOCSLIFADDR, &lifr) == -1) {
1002 lifr.lifr_name, abuf);
1007 if (ioctl(v6_sock_fd, SIOCGLIFFLAGS, &lifr) == -1) {
1009 lifr.lifr_name);
1016 if (pif->pif_under_ipmp && !(lifr.lifr_flags & IFF_NOFAILOVER))
1017 lifr.lifr_flags |= IFF_NOFAILOVER | IFF_DEPRECATED;
1019 lifr.lifr_flags |= IFF_UP | IFF_DHCPRUNNING;
1020 if (ioctl(v6_sock_fd, SIOCSLIFFLAGS, &lifr) == -1) {
1022 lifr.lifr_name);
1028 if ((lif = insert_lif(pif, lifr.lifr_name, &error)) == NULL)
1038 if (ioctl(v6_sock_fd, SIOCLIFREMOVEIF, &lifr) == -1 &&
1041 lifr.lifr_name);
1060 struct lifreq lifr;
1062 (void) memset(&lifr, 0, sizeof (lifr));
1063 (void) strlcpy(lifr.lifr_name, lif->lif_name,
1064 sizeof (lifr.lifr_name));
1065 if (ioctl(v6_sock_fd, SIOCLIFREMOVEIF, &lifr) == -1 &&
1144 struct lifreq lifr;
1149 (void) strlcpy(lifr.lifr_name, lif->lif_name, LIFNAMSIZ);
1151 if (ioctl(fd, SIOCGLIFFLAGS, &lifr) == -1) {
1157 lif->lif_flags = lifr.lifr_flags;
1163 if (lifr.lifr_flags & (IFF_LOOPBACK|IFF_ADDRCONF|IFF_TEMPORARY|
1166 lif->lif_name, lifr.lifr_flags);
1176 if (lifr.lifr_flags & IFF_DHCPRUNNING) {
1188 if (pif->pif_under_ipmp && !(lifr.lifr_flags & IFF_NOFAILOVER))
1189 lifr.lifr_flags |= IFF_NOFAILOVER | IFF_DEPRECATED;
1191 lifr.lifr_flags |= IFF_DHCPRUNNING;
1192 if (ioctl(fd, SIOCSLIFFLAGS, &lifr) == -1) {
1197 lif->lif_flags = lifr.lifr_flags;
1214 struct lifreq lifr;
1218 (void) strlcpy(lifr.lifr_name, lif->lif_name, LIFNAMSIZ);
1220 if (ioctl(fd, SIOCGLIFFLAGS, &lifr) == -1)
1223 if (!(lifr.lifr_flags & IFF_DHCPRUNNING))
1226 lif->lif_flags = lifr.lifr_flags &= ~IFF_DHCPRUNNING;
1227 (void) ioctl(fd, SIOCSLIFFLAGS, &lifr);
1243 struct lifreq lifr;
1250 (void) strlcpy(lifr.lifr_name, lif->lif_name, LIFNAMSIZ);
1252 if (ioctl(fd, SIOCGLIFFLAGS, &lifr) == -1)
1255 if (lifr.lifr_flags & IFF_DEPRECATED)
1258 lifr.lifr_flags |= IFF_DEPRECATED;
1259 (void) ioctl(fd, SIOCSLIFFLAGS, &lifr);
1260 lif->lif_flags = lifr.lifr_flags;
1277 struct lifreq lifr;
1281 (void) strlcpy(lifr.lifr_name, lif->lif_name, LIFNAMSIZ);
1283 if (ioctl(fd, SIOCGLIFFLAGS, &lifr) == -1) {
1293 if (lifr.lifr_flags & (IFF_LOOPBACK|IFF_ADDRCONF|IFF_TEMPORARY|
1296 "are %llx", lif->lif_name, lifr.lifr_flags);
1304 if (lifr.lifr_flags & IFF_NOFAILOVER)
1307 if (!(lifr.lifr_flags & IFF_DEPRECATED))
1310 lifr.lifr_flags &= ~IFF_DEPRECATED;
1311 if (ioctl(fd, SIOCSLIFFLAGS, &lifr) == -1) {
1316 lif->lif_flags = lifr.lifr_flags;
1334 struct lifreq lifr;
1398 (void) strlcpy(lifr.lifr_name, lif->lif_name, LIFNAMSIZ);
1399 if (ioctl(v4_sock_fd, SIOCGLIFFLAGS, &lifr) == -1) {
1411 if (pif->pif_under_ipmp && !(lifr.lifr_flags & IFF_NOFAILOVER)) {
1412 lifr.lifr_flags |= IFF_NOFAILOVER | IFF_DEPRECATED;
1413 if (ioctl(v4_sock_fd, SIOCSLIFFLAGS, &lifr) == -1) {
1418 lif->lif_flags = lifr.lifr_flags;
1424 if (bringup && !(lifr.lifr_flags & IFF_UP)) {
1430 lifr.lifr_flags |= IFF_UP;
1431 if (ioctl(v4_sock_fd, SIOCSLIFFLAGS, &lifr) == -1) {
1435 lif->lif_flags = lifr.lifr_flags;
1441 if (ioctl(v4_sock_fd, SIOCGLIFNETMASK, &lifr) == -1) {
1447 ((struct sockaddr_in *)&lifr.lifr_addr)->sin_addr.s_addr;
1459 (void) strlcpy(lifr.lifr_name, pif->pif_grifname, LIFNAMSIZ);
1460 if (ioctl(v4_sock_fd, SIOCGLIFFLAGS, &lifr) == -1) {
1465 if (!(lifr.lifr_flags & IFF_UP)) {
1466 lifr.lifr_flags |= IFF_UP;
1467 if (ioctl(v4_sock_fd, SIOCSLIFFLAGS, &lifr) == -1) {
1617 struct lifreq lifr;
1625 (void) strlcpy(lifr.lifr_name, lif->lif_name,
1627 if (ioctl(v4_sock_fd, SIOCGLIFMTU, &lifr) !=
1628 -1 && lifr.lifr_mtu > *mtup) {
1629 *mtup = lifr.lifr_mtu;