Lines Matching refs:gid
288 union ib_gid *gid) in __mlx4_ib_query_gid() argument
307 memcpy(gid->raw, out_mad->data + 8, 8); in __mlx4_ib_query_gid()
317 memcpy(gid->raw + 8, out_mad->data + (index % 8) * 8, 8); in __mlx4_ib_query_gid()
326 union ib_gid *gid) in iboe_query_gid() argument
330 *gid = dev->iboe.gid_table[port - 1][index]; in iboe_query_gid()
336 union ib_gid *gid) in mlx4_ib_query_gid() argument
339 return __mlx4_ib_query_gid(ibdev, port, index, gid); in mlx4_ib_query_gid()
341 return iboe_query_gid(ibdev, port, index, gid); in mlx4_ib_query_gid()
569 static int add_gid_entry(struct ib_qp *ibqp, union ib_gid *gid) in add_gid_entry() argument
579 ge->gid = *gid; in add_gid_entry()
580 if (mlx4_ib_add_mc(mdev, mqp, gid)) { in add_gid_entry()
593 union ib_gid *gid) in mlx4_ib_add_mc() argument
609 rdma_get_mcast_mac((struct in6_addr *)gid, mac); in mlx4_ib_add_mc()
620 static int mlx4_ib_mcg_attach(struct ib_qp *ibqp, union ib_gid *gid, u16 lid) in mlx4_ib_mcg_attach() argument
626 err = mlx4_multicast_attach(mdev->dev, &mqp->mqp, gid->raw, in mlx4_ib_mcg_attach()
632 err = add_gid_entry(ibqp, gid); in mlx4_ib_mcg_attach()
639 mlx4_multicast_detach(mdev->dev, &mqp->mqp, gid->raw, MLX4_PROT_IB_IPV6); in mlx4_ib_mcg_attach()
650 if (!memcmp(raw, ge->gid.raw, 16)) { in find_gid_entry()
659 static int mlx4_ib_mcg_detach(struct ib_qp *ibqp, union ib_gid *gid, u16 lid) in mlx4_ib_mcg_detach() argument
669 &mqp->mqp, gid->raw, MLX4_PROT_IB_IPV6); in mlx4_ib_mcg_detach()
674 ge = find_gid_entry(mqp, gid->raw); in mlx4_ib_mcg_detach()
681 rdma_get_mcast_mac((struct in6_addr *)gid, mac); in mlx4_ib_mcg_detach()
835 union ib_gid gid; in update_ipv6_gids() local
854 gid.global.subnet_prefix = cpu_to_be64(0xfe80000000000000LL); in update_ipv6_gids()
856 mlx4_addrconf_ifid_eui48(&gid.raw[8], vid, ndev); in update_ipv6_gids()
863 if (!memcmp(&dev->iboe.gid_table[port - 1][i], &gid, sizeof gid)) { in update_ipv6_gids()
873 &gid, sizeof gid) || in update_ipv6_gids()
875 &zgid, sizeof gid))) { in update_ipv6_gids()
876 dev->iboe.gid_table[port - 1][0] = gid; in update_ipv6_gids()
880 dev->iboe.gid_table[port - 1][free] = gid; in update_ipv6_gids()