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