Lines Matching refs:gid
157 bool rdma_is_zero_gid(const union ib_gid *gid) in rdma_is_zero_gid() argument
159 return !memcmp(gid, &zgid, sizeof(*gid)); in rdma_is_zero_gid()
202 return device->port_data[port].cache.gid; in rdma_gid_table()
244 port_num, entry->attr.index, entry->attr.gid.raw); in free_gid_entry_locked()
327 entry->attr.gid.raw); in store_gid_entry()
390 ix, table->data_vec[ix]->attr.gid.raw); in del_gid()
443 if (rdma_is_zero_gid(&attr->gid)) in add_modify_gid()
465 static int find_gid(struct ib_gid_table *table, const union ib_gid *gid, in find_gid() argument
519 memcmp(gid, &data->attr.gid, sizeof(*gid))) in find_gid()
539 static void make_default_gid(struct net_device *dev, union ib_gid *gid) in make_default_gid() argument
541 gid->global.subnet_prefix = cpu_to_be64(0xfe80000000000000LL); in make_default_gid()
542 addrconf_ifid_eui48(&gid->raw[8], dev); in make_default_gid()
546 union ib_gid *gid, struct ib_gid_attr *attr, in __ib_cache_gid_add() argument
558 if (rdma_is_zero_gid(gid)) in __ib_cache_gid_add()
565 ix = find_gid(table, gid, attr, default_gid, mask, &empty); in __ib_cache_gid_add()
576 attr->gid = *gid; in __ib_cache_gid_add()
585 __func__, gid->raw, ret); in __ib_cache_gid_add()
590 union ib_gid *gid, struct ib_gid_attr *attr) in ib_cache_gid_add() argument
596 return __ib_cache_gid_add(ib_dev, port, gid, attr, mask, false); in ib_cache_gid_add()
601 union ib_gid *gid, struct ib_gid_attr *attr, in _ib_cache_gid_del() argument
612 ix = find_gid(table, gid, attr, default_gid, mask, NULL); in _ib_cache_gid_del()
625 __func__, gid->raw, ret); in _ib_cache_gid_del()
630 union ib_gid *gid, struct ib_gid_attr *attr) in ib_cache_gid_del() argument
637 return _ib_cache_gid_del(ib_dev, port, gid, attr, mask, false); in ib_cache_gid_del()
683 const union ib_gid *gid, in rdma_find_gid_by_port() argument
704 local_index = find_gid(table, gid, &val, false, mask, NULL); in rdma_find_gid_by_port()
736 struct ib_device *ib_dev, const union ib_gid *gid, u32 port, in rdma_find_gid_by_filter() argument
737 bool (*filter)(const union ib_gid *gid, const struct ib_gid_attr *, in rdma_find_gid_by_filter() argument
758 if (memcmp(gid, &entry->attr.gid, sizeof(*gid))) in rdma_find_gid_by_filter()
761 if (filter(gid, &entry->attr, context)) { in rdma_find_gid_by_filter()
828 union ib_gid gid = { }; in ib_cache_gid_set_default_gid() local
846 make_default_gid(ndev, &gid); in ib_cache_gid_set_default_gid()
847 __ib_cache_gid_add(ib_dev, port, &gid, in ib_cache_gid_set_default_gid()
850 _ib_cache_gid_del(ib_dev, port, &gid, in ib_cache_gid_set_default_gid()
876 release_gid_table(ib_dev, ib_dev->port_data[p].cache.gid); in gid_table_release_one()
877 ib_dev->port_data[p].cache.gid = NULL; in gid_table_release_one()
893 ib_dev->port_data[rdma_port].cache.gid = table; in _gid_table_setup_one()
908 ib_dev->port_data[p].cache.gid); in gid_table_cleanup_one()
947 int index, union ib_gid *gid) in rdma_query_gid() argument
969 memcpy(gid, &table->data_vec[index]->attr.gid, sizeof(*gid)); in rdma_query_gid()
1009 const union ib_gid *gid, in rdma_find_gid() argument
1026 table = device->port_data[p].cache.gid; in rdma_find_gid()
1028 index = find_gid(table, gid, &gid_attr_val, false, mask, NULL); in rdma_find_gid()
1235 memcpy(&entries->gid, &gid_attr->gid, in rdma_query_gid_table()
1236 sizeof(gid_attr->gid)); in rdma_query_gid_table()
1411 ret = device->ops.query_gid(device, port, i, &gid_attr.gid); in config_non_roce_gid_cache()
1431 be64_to_cpu(gid_attr.gid.global.subnet_prefix); in config_non_roce_gid_cache()