DPDK  24.03.0
rte_ib.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright (c) 2023 NVIDIA Corporation & Affiliates
3  */
4 
5 #ifndef RTE_IB_H
6 #define RTE_IB_H
7 
16 #include <stdint.h>
17 
18 #include <rte_byteorder.h>
19 
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23 
28 __extension__
29 struct rte_ib_bth {
30  uint8_t opcode;
31 #if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
32  uint8_t tver:4;
33  uint8_t padcnt:2;
34  uint8_t m:1;
35  uint8_t se:1;
36 #elif RTE_BYTE_ORDER == RTE_BIG_ENDIAN
37  uint8_t se:1;
38  uint8_t m:1;
39  uint8_t padcnt:2;
40  uint8_t tver:4;
41 #endif
43 #if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
44  uint8_t rsvd0:6;
45  uint8_t b:1;
46  uint8_t f:1;
47 #elif RTE_BYTE_ORDER == RTE_BIG_ENDIAN
48  uint8_t f:1;
49  uint8_t b:1;
50  uint8_t rsvd0:6;
51 #endif
52  uint8_t dst_qp[3];
53 #if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
54  uint8_t rsvd1:7;
55  uint8_t a:1;
56 #elif RTE_BYTE_ORDER == RTE_BIG_ENDIAN
57  uint8_t a:1;
58  uint8_t rsvd1:7;
59 #endif
60  uint8_t psn[3];
61 } __rte_packed;
62 
64 #define RTE_ROCEV2_DEFAULT_PORT 4791
65 
66 #ifdef __cplusplus
67 }
68 #endif
69 
70 #endif /* RTE_IB_H */
uint8_t a
Definition: rte_ib.h:55
uint8_t m
Definition: rte_ib.h:34
uint8_t rsvd0
Definition: rte_ib.h:44
#define __rte_packed
Definition: rte_common.h:102
uint8_t f
Definition: rte_ib.h:46
uint8_t padcnt
Definition: rte_ib.h:33
uint8_t se
Definition: rte_ib.h:35
uint8_t opcode
Definition: rte_ib.h:30
rte_be16_t pkey
Definition: rte_ib.h:42
uint8_t rsvd1
Definition: rte_ib.h:54
uint8_t tver
Definition: rte_ib.h:32
uint8_t dst_qp[3]
Definition: rte_ib.h:52
uint8_t psn[3]
Definition: rte_ib.h:60
uint16_t rte_be16_t
uint8_t b
Definition: rte_ib.h:45