Lines Matching refs:snap

856 	ipmp_snap_t	*snap;  in ipmp_setqcontext()  local
861 snap = NULL; in ipmp_setqcontext()
865 retval = ipmp_snap_take(statep, &snap); in ipmp_setqcontext()
876 statep->st_snap = snap; in ipmp_setqcontext()
888 ipmp_snap_t *snap; in ipmp_snap_create() local
890 snap = malloc(sizeof (ipmp_snap_t)); in ipmp_snap_create()
891 if (snap == NULL) in ipmp_snap_create()
894 snap->sn_grlistp = NULL; in ipmp_snap_create()
895 snap->sn_grinfolistp = NULL; in ipmp_snap_create()
896 snap->sn_ifinfolistp = NULL; in ipmp_snap_create()
897 snap->sn_adinfolistp = NULL; in ipmp_snap_create()
898 snap->sn_ngroup = 0; in ipmp_snap_create()
899 snap->sn_nif = 0; in ipmp_snap_create()
900 snap->sn_naddr = 0; in ipmp_snap_create()
902 return (snap); in ipmp_snap_create()
909 ipmp_snap_free(ipmp_snap_t *snap) in ipmp_snap_free() argument
915 ipmp_freegrouplist(snap->sn_grlistp); in ipmp_snap_free()
917 for (grlp = snap->sn_grinfolistp; grlp != NULL; grlp = grnext) { in ipmp_snap_free()
923 for (iflp = snap->sn_ifinfolistp; iflp != NULL; iflp = ifnext) { in ipmp_snap_free()
929 for (adlp = snap->sn_adinfolistp; adlp != NULL; adlp = adnext) { in ipmp_snap_free()
935 free(snap); in ipmp_snap_free()
943 ipmp_snap_addgroupinfo(ipmp_snap_t *snap, ipmp_groupinfo_t *grinfop) in ipmp_snap_addgroupinfo() argument
951 if (ipmp_snap_getgroupinfo(snap, grinfop->gr_name) != NULL) in ipmp_snap_addgroupinfo()
959 grlp->grl_next = snap->sn_grinfolistp; in ipmp_snap_addgroupinfo()
960 snap->sn_grinfolistp = grlp; in ipmp_snap_addgroupinfo()
961 snap->sn_ngroup++; in ipmp_snap_addgroupinfo()
971 ipmp_snap_addifinfo(ipmp_snap_t *snap, ipmp_ifinfo_t *ifinfop) in ipmp_snap_addifinfo() argument
979 if (ipmp_snap_getifinfo(snap, ifinfop->if_name) != NULL) in ipmp_snap_addifinfo()
987 iflp->ifl_next = snap->sn_ifinfolistp; in ipmp_snap_addifinfo()
988 snap->sn_ifinfolistp = iflp; in ipmp_snap_addifinfo()
989 snap->sn_nif++; in ipmp_snap_addifinfo()
999 ipmp_snap_addaddrinfo(ipmp_snap_t *snap, ipmp_addrinfo_t *adinfop) in ipmp_snap_addaddrinfo() argument
1006 if (ipmp_snap_getaddrinfo(snap, adinfop->ad_group, in ipmp_snap_addaddrinfo()
1015 adlp->adl_next = snap->sn_adinfolistp; in ipmp_snap_addaddrinfo()
1016 snap->sn_adinfolistp = adlp; in ipmp_snap_addaddrinfo()
1017 snap->sn_naddr++; in ipmp_snap_addaddrinfo()
1027 ipmp_snap_getgroupinfo(ipmp_snap_t *snap, const char *name) in ipmp_snap_getgroupinfo() argument
1031 for (grlp = snap->sn_grinfolistp; grlp != NULL; grlp = grlp->grl_next) { in ipmp_snap_getgroupinfo()
1045 ipmp_snap_getifinfo(ipmp_snap_t *snap, const char *name) in ipmp_snap_getifinfo() argument
1049 for (iflp = snap->sn_ifinfolistp; iflp != NULL; iflp = iflp->ifl_next) { in ipmp_snap_getifinfo()
1063 ipmp_snap_getaddrinfo(ipmp_snap_t *snap, const char *grname, in ipmp_snap_getaddrinfo() argument
1068 for (adlp = snap->sn_adinfolistp; adlp != NULL; adlp = adlp->adl_next) { in ipmp_snap_getaddrinfo()
1086 ipmp_snap_t *snap; in ipmp_snap_take() local
1095 snap = ipmp_snap_create(); in ipmp_snap_take()
1096 if (snap == NULL) in ipmp_snap_take()
1101 ipmp_snap_free(snap); in ipmp_snap_take()
1125 if (snap->sn_grlistp != NULL) { in ipmp_snap_take()
1129 snap->sn_grlistp = infop; in ipmp_snap_take()
1133 if (snap->sn_nif == nif) { in ipmp_snap_take()
1151 retval = ipmp_snap_addifinfo(snap, infop); in ipmp_snap_take()
1159 if (snap->sn_naddr == naddr) { in ipmp_snap_take()
1164 retval = ipmp_snap_addaddrinfo(snap, infop); in ipmp_snap_take()
1172 if (snap->sn_ngroup == ngroup) { in ipmp_snap_take()
1190 retval = ipmp_snap_addgroupinfo(snap, infop); in ipmp_snap_take()
1231 ipmp_snap_free(snap); in ipmp_snap_take()
1234 } while (snap->sn_grlistp == NULL || snap->sn_nif < nif || in ipmp_snap_take()
1235 snap->sn_ngroup < ngroup || snap->sn_naddr < naddr); in ipmp_snap_take()
1237 *snapp = snap; in ipmp_snap_take()