Lines Matching refs:gid

154  * @gid:	GID to check
157 bool rdma_is_zero_gid(const union ib_gid *gid)
159 return !memcmp(gid, &zgid, sizeof(*gid));
202 return device->port_data[port].cache.gid;
243 dev_dbg(&device->dev, "%s port=%u index=%u gid %pI6\n", __func__,
244 port_num, entry->attr.index, entry->attr.gid.raw);
326 dev_dbg(&entry->attr.device->dev, "%s port=%u index=%u gid %pI6\n",
328 entry->attr.gid.raw);
390 dev_dbg(&ib_dev->dev, "%s port=%u index=%d gid %pI6\n", __func__, port,
391 ix, table->data_vec[ix]->attr.gid.raw);
444 if (rdma_is_zero_gid(&attr->gid))
466 static int find_gid(struct ib_gid_table *table, const union ib_gid *gid,
520 memcmp(gid, &data->attr.gid, sizeof(*gid)))
540 static void make_default_gid(struct net_device *dev, union ib_gid *gid)
542 gid->global.subnet_prefix = cpu_to_be64(0xfe80000000000000LL);
543 addrconf_ifid_eui48(&gid->raw[8], dev);
547 union ib_gid *gid, struct ib_gid_attr *attr,
559 if (rdma_is_zero_gid(gid))
566 ix = find_gid(table, gid, attr, default_gid, mask, &empty);
577 attr->gid = *gid;
585 pr_warn("%s: unable to add gid %pI6 error=%d\n",
586 __func__, gid->raw, ret);
591 union ib_gid *gid, struct ib_gid_attr *attr)
597 return __ib_cache_gid_add(ib_dev, port, gid, attr, mask, false);
602 union ib_gid *gid, struct ib_gid_attr *attr,
613 ix = find_gid(table, gid, attr, default_gid, mask, NULL);
625 pr_debug("%s: can't delete gid %pI6 error=%d\n",
626 __func__, gid->raw, ret);
631 union ib_gid *gid, struct ib_gid_attr *attr)
638 return _ib_cache_gid_del(ib_dev, port, gid, attr, mask, false);
673 * @gid: The GID value to search for.
684 const union ib_gid *gid,
705 local_index = find_gid(table, gid, &val, false, mask, NULL);
722 * @gid: The GID value to search for.
737 struct ib_device *ib_dev, const union ib_gid *gid, u32 port,
738 bool (*filter)(const union ib_gid *gid, const struct ib_gid_attr *,
759 if (memcmp(gid, &entry->attr.gid, sizeof(*gid)))
762 if (filter(gid, &entry->attr, context)) {
842 union ib_gid gid = { };
860 make_default_gid(ndev, &gid);
861 __ib_cache_gid_add(ib_dev, port, &gid,
864 _ib_cache_gid_del(ib_dev, port, &gid,
890 release_gid_table(ib_dev, ib_dev->port_data[p].cache.gid);
891 ib_dev->port_data[p].cache.gid = NULL;
907 ib_dev->port_data[rdma_port].cache.gid = table;
922 ib_dev->port_data[p].cache.gid);
944 * @gid: Pointer to GID where to store the entry's GID
954 int index, union ib_gid *gid)
976 memcpy(gid, &table->data_vec[index]->attr.gid, sizeof(*gid));
1005 * @gid: The GID value to search for.
1016 const union ib_gid *gid,
1033 table = device->port_data[p].cache.gid;
1035 index = find_gid(table, gid, &gid_attr_val, false, mask, NULL);
1211 * rdma_get_gid_attr() acquires reference count of gid attributes from the
1213 * reference to gid attribute regardless of link layer.
1215 * Returns pointer to valid gid attribute or ERR_PTR for the appropriate error
1277 memcpy(&entries->gid, &gid_attr->gid,
1278 sizeof(gid_attr->gid));
1401 * (if gid entry has vlan) and source MAC, or returns error.
1426 * the lower vlan device for this gid entry.
1453 ret = device->ops.query_gid(device, port, i, &gid_attr.gid);
1473 be64_to_cpu(gid_attr.gid.global.subnet_prefix);