DPDK  24.11.0-rc1
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 
24 __extension__
25 struct rte_ib_bth {
26  uint8_t opcode;
27 #if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
28  uint8_t tver:4;
29  uint8_t padcnt:2;
30  uint8_t m:1;
31  uint8_t se:1;
32 #elif RTE_BYTE_ORDER == RTE_BIG_ENDIAN
33  uint8_t se:1;
34  uint8_t m:1;
35  uint8_t padcnt:2;
36  uint8_t tver:4;
37 #endif
39 #if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
40  uint8_t rsvd0:6;
41  uint8_t b:1;
42  uint8_t f:1;
43 #elif RTE_BYTE_ORDER == RTE_BIG_ENDIAN
44  uint8_t f:1;
45  uint8_t b:1;
46  uint8_t rsvd0:6;
47 #endif
48  uint8_t dst_qp[3];
49 #if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
50  uint8_t rsvd1:7;
51  uint8_t a:1;
52 #elif RTE_BYTE_ORDER == RTE_BIG_ENDIAN
53  uint8_t a:1;
54  uint8_t rsvd1:7;
55 #endif
56  uint8_t psn[3];
57 } __rte_packed;
58 
60 #define RTE_ROCEV2_DEFAULT_PORT 4791
61 
62 #endif /* RTE_IB_H */
uint8_t a
Definition: rte_ib.h:51
uint8_t m
Definition: rte_ib.h:30
uint8_t rsvd0
Definition: rte_ib.h:40
#define __rte_packed
Definition: rte_common.h:108
uint8_t f
Definition: rte_ib.h:42
uint8_t padcnt
Definition: rte_ib.h:29
uint8_t se
Definition: rte_ib.h:31
uint8_t opcode
Definition: rte_ib.h:26
rte_be16_t pkey
Definition: rte_ib.h:38
uint8_t rsvd1
Definition: rte_ib.h:50
uint8_t tver
Definition: rte_ib.h:28
uint8_t dst_qp[3]
Definition: rte_ib.h:48
uint8_t psn[3]
Definition: rte_ib.h:56
uint16_t rte_be16_t
uint8_t b
Definition: rte_ib.h:41