Lines Matching defs:iph

182 	ipadm_handle_t	iph;
195 if ((iph = calloc(1, sizeof (struct ipadm_handle))) == NULL)
197 iph->iph_sock = -1;
198 iph->iph_sock6 = -1;
199 iph->iph_door_fd = -1;
200 iph->iph_rtsock = -1;
201 iph->iph_flags = flags;
202 (void) pthread_mutex_init(&iph->iph_lock, NULL);
204 if ((iph->iph_sock = socket(AF_INET, SOCK_DGRAM, 0)) < 0 ||
205 (iph->iph_sock6 = socket(AF_INET6, SOCK_DGRAM, 0)) < 0) {
220 iph->iph_zoneid = zoneid;
228 if (dladm_open(&iph->iph_dlh) != DLADM_STATUS_OK) {
229 ipadm_close(iph);
233 iph->iph_rtsock = socket(PF_ROUTE, SOCK_RAW, 0);
242 iph->iph_dlh = NULL;
245 if (setsockopt(iph->iph_sock6, SOL_SOCKET, SO_VRRP, &on,
246 sizeof (on)) < 0 || setsockopt(iph->iph_sock, SOL_SOCKET,
251 *handle = iph;
256 ipadm_close(iph);
264 ipadm_close(ipadm_handle_t iph)
266 if (iph == NULL)
268 if (iph->iph_sock != -1)
269 (void) close(iph->iph_sock);
270 if (iph->iph_sock6 != -1)
271 (void) close(iph->iph_sock6);
272 if (iph->iph_rtsock != -1)
273 (void) close(iph->iph_rtsock);
274 if (iph->iph_door_fd != -1)
275 (void) close(iph->iph_door_fd);
276 dladm_close(iph->iph_dlh);
277 (void) pthread_mutex_destroy(&iph->iph_lock);
278 free(iph);
304 i_ipadm_get_index(ipadm_handle_t iph, const char *ifname, sa_family_t af,
313 sock = iph->iph_sock;
315 sock = iph->iph_sock6;
396 i_ipadm_set_flags(ipadm_handle_t iph, const char *lifname, sa_family_t af,
405 ret = i_ipadm_get_flags(iph, lifname, af, &oflags);
409 sock = (af == AF_INET ? iph->iph_sock : iph->iph_sock6);
434 ret = i_ipadm_dad_wait(iph, lifname, af, rtsock);
445 i_ipadm_get_flags(ipadm_handle_t iph, const char *lifname, sa_family_t af,
454 sock = iph->iph_sock;
456 sock = iph->iph_sock6;
504 i_ipadm_is_6to4(ipadm_handle_t iph, char *ifname)
511 if (iph->iph_dlh == NULL) {
512 assert(iph->iph_zoneid != GLOBAL_ZONEID);
515 dlstatus = dladm_name2info(iph->iph_dlh, ifname, &linkid, NULL,
519 dlstatus = dladm_iptun_getparams(iph->iph_dlh, &params,
533 i_ipadm_is_under_ipmp(ipadm_handle_t iph, const char *ifname)
538 if (ioctl(iph->iph_sock, SIOCGLIFGROUPNAME, (caddr_t)&lifr) < 0) {
539 if (ioctl(iph->iph_sock6, SIOCGLIFGROUPNAME,
551 i_ipadm_is_ipmp(ipadm_handle_t iph, const char *ifname)
555 if (i_ipadm_get_flags(iph, ifname, AF_INET, &flags) != IPADM_SUCCESS &&
556 i_ipadm_get_flags(iph, ifname, AF_INET6, &flags) != IPADM_SUCCESS)
567 ipadm_if_enabled(ipadm_handle_t iph, const char *ifname, sa_family_t af)
570 int s4 = iph->iph_sock;
571 int s6 = iph->iph_sock6;
597 i_ipadm_init_ifprop(ipadm_handle_t iph, nvlist_t *nvl)
624 return (ipadm_set_ifprop(iph, ifname, pname, pval, proto,
633 i_ipadm_init_addrobj(ipadm_handle_t iph, nvlist_t *nvl)
665 status = i_ipadm_enable_static(iph, ifname, nvl, af);
668 status = i_ipadm_enable_dhcp(iph, ifname, nvl);
673 status = i_ipadm_enable_addrconf(iph, ifname, nvl);
676 status = ipadm_set_addrprop(iph, name, pval, aobjname,
691 i_ipadm_init_ifobj(ipadm_handle_t iph, const char *ifname, nvlist_t *ifnvl)
701 boolean_t is_ngz = (iph->iph_zoneid != GLOBAL_ZONEID);
715 status = i_ipadm_plumb_if(iph, newifname, atoi(afstr),
741 status = i_ipadm_init_addrobj(iph, nvl);
754 status = i_ipadm_init_ifprop(iph, nvl);
761 ret_status = ipadm_init_net_from_gz(iph, newifname, NULL);
770 i_ipadm_init_ifs(ipadm_handle_t iph, const char *ifs, nvlist_t **allifs)
806 if ((err = ipadm_door_call(iph, iargp, bufsize, (void **)&rvalp,
835 i_ipadm_validate_ifname(ipadm_handle_t iph, const char *ifname)
843 return (ifsp.ifsp_lun > 0 && (iph->iph_flags & IPH_LEGACY));
877 ipadm_door_call(ipadm_handle_t iph, void *arg, size_t asize, void **rbufp,
899 (void) pthread_mutex_lock(&iph->iph_lock);
901 if (iph->iph_door_fd == -1) {
902 if ((iph->iph_door_fd = open(IPMGMT_DOOR, O_RDONLY)) < 0) {
904 (void) pthread_mutex_unlock(&iph->iph_lock);
908 (void) pthread_mutex_unlock(&iph->iph_lock);
910 if (door_call(iph->iph_door_fd, &darg) == -1) {
917 (void) close(iph->iph_door_fd);
918 iph->iph_door_fd = -1;