Lines Matching refs:mgid

12  * attached to a new mgid for the first time. These are indexed by
13 * a red-black tree using the mgid. This data structure is searched
15 * qp is attached to the same mgid. It is cleaned up when the last qp
27 * @mgid: multicast address as a gid
31 static int rxe_mcast_add(struct rxe_dev *rxe, union ib_gid *mgid)
35 ipv6_eth_mc_map((struct in6_addr *)mgid->raw, ll_addr);
43 * @mgid: multicast address as a gid
47 static int rxe_mcast_del(struct rxe_dev *rxe, union ib_gid *mgid)
51 ipv6_eth_mc_map((struct in6_addr *)mgid->raw, ll_addr);
75 cmp = memcmp(&tmp->mgid, &mcg->mgid, sizeof(mcg->mgid));
100 * @mgid: multicast IP address
106 union ib_gid *mgid)
118 cmp = memcmp(&mcg->mgid, mgid, sizeof(*mgid));
139 * @mgid: multicast IP address
143 struct rxe_mcg *rxe_lookup_mcg(struct rxe_dev *rxe, union ib_gid *mgid)
148 mcg = __rxe_lookup_mcg(rxe, mgid);
157 * @mgid: multicast address as a gid
162 static void __rxe_init_mcg(struct rxe_dev *rxe, union ib_gid *mgid,
166 memcpy(&mcg->mgid, mgid, sizeof(mcg->mgid));
173 * by __rxe_insert_mcg and used to lookup mcg from mgid later.
184 * @mgid: multicast IP address as a gid
188 static struct rxe_mcg *rxe_get_mcg(struct rxe_dev *rxe, union ib_gid *mgid)
197 mcg = rxe_lookup_mcg(rxe, mgid);
216 tmp = __rxe_lookup_mcg(rxe, mgid);
224 __rxe_init_mcg(rxe, mgid, mcg);
228 err = rxe_mcast_add(rxe, mgid);
276 rxe_mcast_del(mcg->rxe, &mcg->mgid);
428 * @mgid: multicast IP address
433 int rxe_attach_mcast(struct ib_qp *ibqp, union ib_gid *mgid, u16 mlid)
441 mcg = rxe_get_mcg(rxe, mgid);
459 * @mgid: multicast IP address
464 int rxe_detach_mcast(struct ib_qp *ibqp, union ib_gid *mgid, u16 mlid)
471 mcg = rxe_lookup_mcg(rxe, mgid);