DPDK
22.11.7
Toggle main menu visibility
Main Page
Related Pages
Data Structures
Data Structures
Data Fields
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Files
File List
Globals
All
_
a
b
c
d
e
f
g
h
i
l
m
o
p
r
s
t
u
v
w
Functions
_
c
g
r
Variables
a
c
d
e
l
r
s
Typedefs
a
c
d
e
h
l
m
p
r
s
t
Enumerations
d
r
Enumerator
c
e
f
r
s
w
Macros
_
b
c
i
l
m
o
p
r
s
t
u
v
Examples
•
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
lib
net
rte_ecpri.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: BSD-3-Clause
2
* Copyright 2020 Mellanox Technologies, Ltd
3
*/
4
5
#ifndef _RTE_ECPRI_H_
6
#define _RTE_ECPRI_H_
7
17
#include <stdint.h>
18
#include <
rte_byteorder.h
>
19
20
#ifdef __cplusplus
21
extern
"C"
{
22
#endif
23
24
/*
25
* eCPRI Protocol Revision 1.0, 1.1, 1.2, 2.0: 0001b
26
* Other values are reserved for future
27
*/
28
#define RTE_ECPRI_REV_UP_TO_20 1
29
30
/*
31
* eCPRI message types in specifications
32
* IWF* types will only be supported from rev.2
33
* 12-63: Reserved for future revision
34
* 64-255: Vendor Specific
35
*/
36
#define RTE_ECPRI_MSG_TYPE_IQ_DATA 0
37
#define RTE_ECPRI_MSG_TYPE_BIT_SEQ 1
38
#define RTE_ECPRI_MSG_TYPE_RTC_CTRL 2
39
#define RTE_ECPRI_MSG_TYPE_GEN_DATA 3
40
#define RTE_ECPRI_MSG_TYPE_RM_ACC 4
41
#define RTE_ECPRI_MSG_TYPE_DLY_MSR 5
42
#define RTE_ECPRI_MSG_TYPE_RMT_RST 6
43
#define RTE_ECPRI_MSG_TYPE_EVT_IND 7
44
#define RTE_ECPRI_MSG_TYPE_IWF_UP 8
45
#define RTE_ECPRI_MSG_TYPE_IWF_OPT 9
46
#define RTE_ECPRI_MSG_TYPE_IWF_MAP 10
47
#define RTE_ECPRI_MSG_TYPE_IWF_DCTRL 11
48
49
/*
50
* Event Type of Message Type #7: Event Indication
51
* 0x00: Fault(s) Indication
52
* 0x01: Fault(s) Indication Acknowledge
53
* 0x02: Notification(s) Indication
54
* 0x03: Synchronization Request
55
* 0x04: Synchronization Acknowledge
56
* 0x05: Synchronization End Indication
57
* 0x06...0xFF: Reserved
58
*/
59
#define RTE_ECPRI_EVT_IND_FAULT_IND 0x00
60
#define RTE_ECPRI_EVT_IND_FAULT_ACK 0x01
61
#define RTE_ECPRI_EVT_IND_NTFY_IND 0x02
62
#define RTE_ECPRI_EVT_IND_SYNC_REQ 0x03
63
#define RTE_ECPRI_EVT_IND_SYNC_ACK 0x04
64
#define RTE_ECPRI_EVT_IND_SYNC_END 0x05
65
69
RTE_STD_C11
70
struct
rte_ecpri_common_hdr
{
71
union
{
72
rte_be32_t
u32
;
73
struct
{
74
#if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
75
uint32_t
size
:16;
76
uint32_t
type
:8;
77
uint32_t
c
:1;
78
uint32_t
res
:3;
79
uint32_t
revision
:4;
80
#elif RTE_BYTE_ORDER == RTE_BIG_ENDIAN
81
uint32_t
revision
:4;
82
uint32_t
res
:3;
83
uint32_t
c
:1;
84
uint32_t
type
:8;
85
uint32_t
size
:16;
86
#endif
87
};
88
};
89
};
90
94
struct
rte_ecpri_msg_iq_data
{
95
rte_be16_t
pc_id
;
96
rte_be16_t
seq_id
;
97
};
98
102
struct
rte_ecpri_msg_bit_seq
{
103
rte_be16_t
pc_id
;
104
rte_be16_t
seq_id
;
105
};
106
110
struct
rte_ecpri_msg_rtc_ctrl
{
111
rte_be16_t
rtc_id
;
112
rte_be16_t
seq_id
;
113
};
114
118
struct
rte_ecpri_msg_gen_data
{
119
rte_be32_t
pc_id
;
120
rte_be32_t
seq_id
;
121
};
122
126
RTE_STD_C11
127
struct
rte_ecpri_msg_rm_access
{
128
#if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
129
uint32_t
ele_id
:16;
130
uint32_t
rr
:4;
131
uint32_t
rw
:4;
132
uint32_t
rma_id
:8;
133
#elif RTE_BYTE_ORDER == RTE_BIG_ENDIAN
134
uint32_t
rma_id
:8;
135
uint32_t
rw
:4;
136
uint32_t
rr
:4;
137
uint32_t
ele_id
:16;
138
#endif
139
uint8_t
addr
[6];
140
rte_be16_t
length
;
141
};
142
146
struct
rte_ecpri_msg_delay_measure
{
147
uint8_t
msr_id
;
148
uint8_t
act_type
;
149
};
150
154
struct
rte_ecpri_msg_remote_reset
{
155
rte_be16_t
rst_id
;
156
uint8_t
rst_op
;
157
};
158
162
struct
rte_ecpri_msg_event_ind
{
163
uint8_t
evt_id
;
164
uint8_t
evt_type
;
165
uint8_t
seq
;
166
uint8_t
number
;
167
};
168
172
RTE_STD_C11
173
struct
rte_ecpri_combined_msg_hdr
{
174
struct
rte_ecpri_common_hdr
common;
175
union
{
176
struct
rte_ecpri_msg_iq_data
type0;
177
struct
rte_ecpri_msg_bit_seq
type1;
178
struct
rte_ecpri_msg_rtc_ctrl
type2;
179
struct
rte_ecpri_msg_gen_data
type3;
180
struct
rte_ecpri_msg_rm_access
type4;
181
struct
rte_ecpri_msg_delay_measure
type5;
182
struct
rte_ecpri_msg_remote_reset
type6;
183
struct
rte_ecpri_msg_event_ind
type7;
184
rte_be32_t
dummy[3];
185
};
186
};
187
188
#ifdef __cplusplus
189
}
190
#endif
191
192
#endif
/* _RTE_ECPRI_H_ */
rte_byteorder.h
rte_be32_t
uint32_t rte_be32_t
Definition:
rte_byteorder.h:111
rte_be16_t
uint16_t rte_be16_t
Definition:
rte_byteorder.h:110
RTE_STD_C11
#define RTE_STD_C11
Definition:
rte_common.h:39
rte_ecpri_combined_msg_hdr
Definition:
rte_ecpri.h:173
rte_ecpri_common_hdr
Definition:
rte_ecpri.h:70
rte_ecpri_common_hdr::revision
uint32_t revision
Definition:
rte_ecpri.h:79
rte_ecpri_common_hdr::u32
rte_be32_t u32
Definition:
rte_ecpri.h:72
rte_ecpri_common_hdr::res
uint32_t res
Definition:
rte_ecpri.h:78
rte_ecpri_common_hdr::c
uint32_t c
Definition:
rte_ecpri.h:77
rte_ecpri_common_hdr::size
uint32_t size
Definition:
rte_ecpri.h:75
rte_ecpri_common_hdr::type
uint32_t type
Definition:
rte_ecpri.h:76
rte_ecpri_msg_bit_seq
Definition:
rte_ecpri.h:102
rte_ecpri_msg_bit_seq::pc_id
rte_be16_t pc_id
Definition:
rte_ecpri.h:103
rte_ecpri_msg_bit_seq::seq_id
rte_be16_t seq_id
Definition:
rte_ecpri.h:104
rte_ecpri_msg_delay_measure
Definition:
rte_ecpri.h:146
rte_ecpri_msg_delay_measure::msr_id
uint8_t msr_id
Definition:
rte_ecpri.h:147
rte_ecpri_msg_delay_measure::act_type
uint8_t act_type
Definition:
rte_ecpri.h:148
rte_ecpri_msg_event_ind
Definition:
rte_ecpri.h:162
rte_ecpri_msg_event_ind::evt_type
uint8_t evt_type
Definition:
rte_ecpri.h:164
rte_ecpri_msg_event_ind::seq
uint8_t seq
Definition:
rte_ecpri.h:165
rte_ecpri_msg_event_ind::evt_id
uint8_t evt_id
Definition:
rte_ecpri.h:163
rte_ecpri_msg_event_ind::number
uint8_t number
Definition:
rte_ecpri.h:166
rte_ecpri_msg_gen_data
Definition:
rte_ecpri.h:118
rte_ecpri_msg_gen_data::seq_id
rte_be32_t seq_id
Definition:
rte_ecpri.h:120
rte_ecpri_msg_gen_data::pc_id
rte_be32_t pc_id
Definition:
rte_ecpri.h:119
rte_ecpri_msg_iq_data
Definition:
rte_ecpri.h:94
rte_ecpri_msg_iq_data::pc_id
rte_be16_t pc_id
Definition:
rte_ecpri.h:95
rte_ecpri_msg_iq_data::seq_id
rte_be16_t seq_id
Definition:
rte_ecpri.h:96
rte_ecpri_msg_remote_reset
Definition:
rte_ecpri.h:154
rte_ecpri_msg_remote_reset::rst_id
rte_be16_t rst_id
Definition:
rte_ecpri.h:155
rte_ecpri_msg_remote_reset::rst_op
uint8_t rst_op
Definition:
rte_ecpri.h:156
rte_ecpri_msg_rm_access
Definition:
rte_ecpri.h:127
rte_ecpri_msg_rm_access::ele_id
uint32_t ele_id
Definition:
rte_ecpri.h:129
rte_ecpri_msg_rm_access::rr
uint32_t rr
Definition:
rte_ecpri.h:130
rte_ecpri_msg_rm_access::rma_id
uint32_t rma_id
Definition:
rte_ecpri.h:132
rte_ecpri_msg_rm_access::rw
uint32_t rw
Definition:
rte_ecpri.h:131
rte_ecpri_msg_rm_access::length
rte_be16_t length
Definition:
rte_ecpri.h:140
rte_ecpri_msg_rm_access::addr
uint8_t addr[6]
Definition:
rte_ecpri.h:139
rte_ecpri_msg_rtc_ctrl
Definition:
rte_ecpri.h:110
rte_ecpri_msg_rtc_ctrl::rtc_id
rte_be16_t rtc_id
Definition:
rte_ecpri.h:111
rte_ecpri_msg_rtc_ctrl::seq_id
rte_be16_t seq_id
Definition:
rte_ecpri.h:112
Generated by
1.9.4