Lines Matching refs:mbox
60 osm_mgrp_box_t *mbox = malloc(sizeof(*mbox));
61 if (!mbox)
64 memset(mbox, 0, sizeof(*mbox));
65 mbox->mlid = mlid;
66 cl_qlist_init(&mbox->mgrp_list);
68 return mbox;
71 void mgrp_box_delete(osm_mgrp_box_t *mbox)
73 osm_mtree_destroy(mbox->root);
74 free(mbox);
107 void osm_mgrp_box_delete(osm_mgrp_box_t *mbox)
111 while (cl_qlist_count(&mbox->mgrp_list)) {
112 mgrp = cl_item_obj(cl_qlist_remove_head(&mbox->mgrp_list),
116 mgrp_box_delete(mbox);
123 osm_mgrp_box_t *mbox;
135 mbox = osm_get_mbox_by_mlid(subn, p_mgrp->mlid);
136 if (!mbox && !(mbox = mgrp_box_new(cl_ntoh16(p_mgrp->mlid)))) {
141 cl_qlist_insert_tail(&mbox->mgrp_list, &p_mgrp->list_item);
142 subn->mboxes[mbox->mlid - IB_LID_MCAST_START_HO] = mbox;
153 osm_mgrp_box_t *mbox;
179 mbox = osm_get_mbox_by_mlid(subn, mgrp->mlid);
180 cl_qlist_remove_item(&mbox->mgrp_list, &mgrp->list_item);
181 if (cl_is_qlist_empty(&mbox->mgrp_list)) {
183 mgrp_box_delete(mbox);