Motr  M0
lnet_core_types.h
Go to the documentation of this file.
1 /* -*- C -*- */
2 /*
3  * Copyright (c) 2012-2020 Seagate Technology LLC and/or its Affiliates
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  * For any questions about this software or licensing,
18  * please email opensource@seagate.com or cortx-questions@seagate.com.
19  *
20  */
21 
22 
23 #pragma once
24 
25 #ifndef __MOTR_NET_LNET_TYPES_H__
26 #define __MOTR_NET_LNET_CORE_TYPES_H__
27 
28 #include "net/net.h" /* m0_net_queue_type */
29 
30 /* forward references */
31 struct nlx_core_bev_link;
32 struct nlx_core_bev_cqueue;
33 struct nlx_core_buffer;
35 struct nlx_core_domain;
36 struct nlx_core_ep_addr;
38 struct nlx_core_buf_desc;
39 struct page;
40 
49 typedef uint64_t nlx_core_opaque_ptr_t;
50 M0_BASSERT(sizeof(nlx_core_opaque_ptr_t) >= sizeof(void *));
51 
57  uint64_t cepa_nid;
58  uint32_t cepa_pid;
59  uint32_t cepa_portal;
60  uint32_t cepa_tmid;
61 } __attribute__((__packed__));
62 
63 /* Match bit related definitions */
64 enum {
81 };
83 
88  union {
89  struct {
91  struct page *kl_page;
93  uint32_t kl_offset;
94  } __attribute__((__packed__));
95  uint32_t kl_data[3];
96  };
98  uint32_t kl_checksum;
99 };
100 M0_BASSERT(sizeof(((struct nlx_core_kmem_loc*) NULL)->kl_page) +
101  sizeof(((struct nlx_core_kmem_loc*) NULL)->kl_offset) ==
102  sizeof(((struct nlx_core_kmem_loc*) NULL)->kl_data));
103 
104 enum {
107 };
108 
119 
124 
131 
138 };
139 
146  size_t cbcq_nr;
147 
150 
157 
164 };
165 
166 enum {
175 };
176 
184 
192 
195 
197  int32_t cbe_status;
198 
201 
204 
207 
210 
212  void *cbe_kpvt;
213 };
214 
219  void *cd_upvt;
220  void *cd_kpvt;
221  unsigned _debug_;
222 };
223 
229  uint64_t ctm_magic;
230 
233 
239 
246 
250  uint64_t ctm_mb_counter;
251 
252  void *ctm_upvt;
253  void *ctm_kpvt;
255  unsigned _debug_;
256 };
257 
262  uint64_t cb_magic;
263 
270 
276 
282 
287 
297 
308  uint64_t cb_match_bits;
309 
319 
320  void *cb_upvt;
321  void *cb_kpvt;
322 };
323 
331  union {
332  struct {
334  uint64_t cbd_match_bits;
335 
338 
342  uint32_t cbd_qtype;
343 
346  };
347  uint64_t cbd_data[5];
348  };
349  uint64_t cbd_checksum;
350 };
351  /* LNetCore */
353 
354 #endif /* __MOTR_NET_LNET_CORE_TYPES_H__ */
355 
356 /*
357  * Local variables:
358  * c-indentation-style: "K&R"
359  * c-basic-offset: 8
360  * tab-width: 8
361  * fill-column: 79
362  * scroll-step: 1
363  * End:
364  */
m0_bcount_t cbd_size
struct nlx_core_bev_link cbe_tm_link
#define NULL
Definition: misc.h:38
struct nlx_core_ep_addr cb_addr
enum @380 __attribute__
uint64_t m0_time_t
Definition: time.h:37
struct page * kl_page
uint64_t m0_bindex_t
Definition: types.h:80
uint64_t m0_bcount_t
Definition: types.h:77
struct page * kl_page
uint64_t nlx_core_opaque_ptr_t
struct nlx_core_ep_addr ctm_addr
uint32_t kl_data[3]
struct nlx_core_kmem_loc cbcq_producer_loc
struct nlx_core_bev_cqueue ctm_bevq
m0_bcount_t cb_min_receive_size
nlx_core_opaque_ptr_t cbe_buffer_id
nlx_core_opaque_ptr_t cbcq_consumer
M0_BASSERT(sizeof(nlx_core_opaque_ptr_t) >=sizeof(void *))
struct m0_atomic64 cbcq_count
uint32_t cb_max_operations
struct nlx_core_ep_addr cbe_sender
uint64_t cb_match_bits
m0_net_queue_type
Definition: net.h:591
m0_bcount_t cb_length
enum m0_net_queue_type cb_qtype
struct nlx_core_ep_addr cbd_passive_ep
uint32_t kl_offset
uint64_t cbd_data[5]
nlx_core_opaque_ptr_t cb_buffer_id