hc
2024-05-10 23fa18eaa71266feff7ba8d83022d9e1cc83c65a
kernel/include/rdma/ib_cache.h
....@@ -1,35 +1,8 @@
1
+/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */
12 /*
23 * Copyright (c) 2004 Topspin Communications. All rights reserved.
34 * Copyright (c) 2005 Intel Corporation. All rights reserved.
45 * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
5
- *
6
- * This software is available to you under a choice of one of two
7
- * licenses. You may choose to be licensed under the terms of the GNU
8
- * General Public License (GPL) Version 2, available from the file
9
- * COPYING in the main directory of this source tree, or the
10
- * OpenIB.org BSD license below:
11
- *
12
- * Redistribution and use in source and binary forms, with or
13
- * without modification, are permitted provided that the following
14
- * conditions are met:
15
- *
16
- * - Redistributions of source code must retain the above
17
- * copyright notice, this list of conditions and the following
18
- * disclaimer.
19
- *
20
- * - Redistributions in binary form must reproduce the above
21
- * copyright notice, this list of conditions and the following
22
- * disclaimer in the documentation and/or other materials
23
- * provided with the distribution.
24
- *
25
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
26
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
27
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
28
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
29
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
30
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
31
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
32
- * SOFTWARE.
336 */
347
358 #ifndef _IB_CACHE_H
....@@ -39,6 +12,7 @@
3912
4013 int rdma_query_gid(struct ib_device *device, u8 port_num, int index,
4114 union ib_gid *gid);
15
+void *rdma_read_gid_hw_context(const struct ib_gid_attr *attr);
4216 const struct ib_gid_attr *rdma_find_gid(struct ib_device *device,
4317 const union ib_gid *gid,
4418 enum ib_gid_type gid_type,
....@@ -53,6 +27,10 @@
5327 bool (*filter)(const union ib_gid *gid, const struct ib_gid_attr *,
5428 void *),
5529 void *context);
30
+
31
+int rdma_read_gid_l2_fields(const struct ib_gid_attr *attr,
32
+ u16 *vlan_id, u8 *smac);
33
+struct net_device *rdma_read_gid_attr_ndev_rcu(const struct ib_gid_attr *attr);
5634
5735 /**
5836 * ib_get_cached_pkey - Returns a cached PKey table entry
....@@ -132,5 +110,8 @@
132110 u8 port_num, int index);
133111 void rdma_put_gid_attr(const struct ib_gid_attr *attr);
134112 void rdma_hold_gid_attr(const struct ib_gid_attr *attr);
113
+ssize_t rdma_query_gid_table(struct ib_device *device,
114
+ struct ib_uverbs_gid_entry *entries,
115
+ size_t max_entries);
135116
136117 #endif /* _IB_CACHE_H */