DPDK
25.03.0
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
_
g
r
t
Variables
c
r
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
/*
21
* eCPRI Protocol Revision 1.0, 1.1, 1.2, 2.0: 0001b
22
* Other values are reserved for future
23
*/
24
#define RTE_ECPRI_REV_UP_TO_20 1
25
26
/*
27
* eCPRI message types in specifications
28
* IWF* types will only be supported from rev.2
29
* 12-63: Reserved for future revision
30
* 64-255: Vendor Specific
31
*/
32
#define RTE_ECPRI_MSG_TYPE_IQ_DATA 0
33
#define RTE_ECPRI_MSG_TYPE_BIT_SEQ 1
34
#define RTE_ECPRI_MSG_TYPE_RTC_CTRL 2
35
#define RTE_ECPRI_MSG_TYPE_GEN_DATA 3
36
#define RTE_ECPRI_MSG_TYPE_RM_ACC 4
37
#define RTE_ECPRI_MSG_TYPE_DLY_MSR 5
38
#define RTE_ECPRI_MSG_TYPE_RMT_RST 6
39
#define RTE_ECPRI_MSG_TYPE_EVT_IND 7
40
#define RTE_ECPRI_MSG_TYPE_IWF_UP 8
41
#define RTE_ECPRI_MSG_TYPE_IWF_OPT 9
42
#define RTE_ECPRI_MSG_TYPE_IWF_MAP 10
43
#define RTE_ECPRI_MSG_TYPE_IWF_DCTRL 11
44
45
/*
46
* Event Type of Message Type #7: Event Indication
47
* 0x00: Fault(s) Indication
48
* 0x01: Fault(s) Indication Acknowledge
49
* 0x02: Notification(s) Indication
50
* 0x03: Synchronization Request
51
* 0x04: Synchronization Acknowledge
52
* 0x05: Synchronization End Indication
53
* 0x06...0xFF: Reserved
54
*/
55
#define RTE_ECPRI_EVT_IND_FAULT_IND 0x00
56
#define RTE_ECPRI_EVT_IND_FAULT_ACK 0x01
57
#define RTE_ECPRI_EVT_IND_NTFY_IND 0x02
58
#define RTE_ECPRI_EVT_IND_SYNC_REQ 0x03
59
#define RTE_ECPRI_EVT_IND_SYNC_ACK 0x04
60
#define RTE_ECPRI_EVT_IND_SYNC_END 0x05
61
65
struct
rte_ecpri_common_hdr
{
66
union
{
67
rte_be32_t
u32
;
68
struct
{
69
#if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
70
uint32_t
size
:16;
71
uint32_t
type
:8;
72
uint32_t
c
:1;
73
uint32_t
res
:3;
74
uint32_t
revision
:4;
75
#elif RTE_BYTE_ORDER == RTE_BIG_ENDIAN
76
uint32_t
revision
:4;
77
uint32_t
res
:3;
78
uint32_t
c
:1;
79
uint32_t
type
:8;
80
uint32_t
size
:16;
81
#endif
82
};
83
};
84
};
85
89
struct
rte_ecpri_msg_iq_data
{
90
rte_be16_t
pc_id
;
91
rte_be16_t
seq_id
;
92
};
93
97
struct
rte_ecpri_msg_bit_seq
{
98
rte_be16_t
pc_id
;
99
rte_be16_t
seq_id
;
100
};
101
105
struct
rte_ecpri_msg_rtc_ctrl
{
106
rte_be16_t
rtc_id
;
107
rte_be16_t
seq_id
;
108
};
109
113
struct
rte_ecpri_msg_gen_data
{
114
rte_be32_t
pc_id
;
115
rte_be32_t
seq_id
;
116
};
117
121
struct
rte_ecpri_msg_rm_access
{
122
#if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
123
uint32_t
ele_id
:16;
124
uint32_t
rr
:4;
125
uint32_t
rw
:4;
126
uint32_t
rma_id
:8;
127
#elif RTE_BYTE_ORDER == RTE_BIG_ENDIAN
128
uint32_t
rma_id
:8;
129
uint32_t
rw
:4;
130
uint32_t
rr
:4;
131
uint32_t
ele_id
:16;
132
#endif
133
uint8_t
addr
[6];
134
rte_be16_t
length
;
135
};
136
140
struct
rte_ecpri_msg_delay_measure
{
141
uint8_t
msr_id
;
142
uint8_t
act_type
;
143
};
144
148
struct
rte_ecpri_msg_remote_reset
{
149
rte_be16_t
rst_id
;
150
uint8_t
rst_op
;
151
};
152
156
struct
rte_ecpri_msg_event_ind
{
157
uint8_t
evt_id
;
158
uint8_t
evt_type
;
159
uint8_t
seq
;
160
uint8_t
number
;
161
};
162
166
struct
rte_ecpri_combined_msg_hdr
{
167
struct
rte_ecpri_common_hdr
common;
168
union
{
169
struct
rte_ecpri_msg_iq_data
type0;
170
struct
rte_ecpri_msg_bit_seq
type1;
171
struct
rte_ecpri_msg_rtc_ctrl
type2;
172
struct
rte_ecpri_msg_gen_data
type3;
173
struct
rte_ecpri_msg_rm_access
type4;
174
struct
rte_ecpri_msg_delay_measure
type5;
175
struct
rte_ecpri_msg_remote_reset
type6;
176
struct
rte_ecpri_msg_event_ind
type7;
177
rte_be32_t
dummy[3];
178
};
179
};
180
181
#endif
/* _RTE_ECPRI_H_ */
rte_byteorder.h
rte_be32_t
uint32_t rte_be32_t
Definition:
rte_byteorder.h:117
rte_be16_t
uint16_t rte_be16_t
Definition:
rte_byteorder.h:116
rte_ecpri_combined_msg_hdr
Definition:
rte_ecpri.h:166
rte_ecpri_common_hdr
Definition:
rte_ecpri.h:65
rte_ecpri_common_hdr::revision
uint32_t revision
Definition:
rte_ecpri.h:74
rte_ecpri_common_hdr::u32
rte_be32_t u32
Definition:
rte_ecpri.h:67
rte_ecpri_common_hdr::res
uint32_t res
Definition:
rte_ecpri.h:73
rte_ecpri_common_hdr::c
uint32_t c
Definition:
rte_ecpri.h:72
rte_ecpri_common_hdr::size
uint32_t size
Definition:
rte_ecpri.h:70
rte_ecpri_common_hdr::type
uint32_t type
Definition:
rte_ecpri.h:71
rte_ecpri_msg_bit_seq
Definition:
rte_ecpri.h:97
rte_ecpri_msg_bit_seq::pc_id
rte_be16_t pc_id
Definition:
rte_ecpri.h:98
rte_ecpri_msg_bit_seq::seq_id
rte_be16_t seq_id
Definition:
rte_ecpri.h:99
rte_ecpri_msg_delay_measure
Definition:
rte_ecpri.h:140
rte_ecpri_msg_delay_measure::msr_id
uint8_t msr_id
Definition:
rte_ecpri.h:141
rte_ecpri_msg_delay_measure::act_type
uint8_t act_type
Definition:
rte_ecpri.h:142
rte_ecpri_msg_event_ind
Definition:
rte_ecpri.h:156
rte_ecpri_msg_event_ind::evt_type
uint8_t evt_type
Definition:
rte_ecpri.h:158
rte_ecpri_msg_event_ind::seq
uint8_t seq
Definition:
rte_ecpri.h:159
rte_ecpri_msg_event_ind::evt_id
uint8_t evt_id
Definition:
rte_ecpri.h:157
rte_ecpri_msg_event_ind::number
uint8_t number
Definition:
rte_ecpri.h:160
rte_ecpri_msg_gen_data
Definition:
rte_ecpri.h:113
rte_ecpri_msg_gen_data::seq_id
rte_be32_t seq_id
Definition:
rte_ecpri.h:115
rte_ecpri_msg_gen_data::pc_id
rte_be32_t pc_id
Definition:
rte_ecpri.h:114
rte_ecpri_msg_iq_data
Definition:
rte_ecpri.h:89
rte_ecpri_msg_iq_data::pc_id
rte_be16_t pc_id
Definition:
rte_ecpri.h:90
rte_ecpri_msg_iq_data::seq_id
rte_be16_t seq_id
Definition:
rte_ecpri.h:91
rte_ecpri_msg_remote_reset
Definition:
rte_ecpri.h:148
rte_ecpri_msg_remote_reset::rst_id
rte_be16_t rst_id
Definition:
rte_ecpri.h:149
rte_ecpri_msg_remote_reset::rst_op
uint8_t rst_op
Definition:
rte_ecpri.h:150
rte_ecpri_msg_rm_access
Definition:
rte_ecpri.h:121
rte_ecpri_msg_rm_access::ele_id
uint32_t ele_id
Definition:
rte_ecpri.h:123
rte_ecpri_msg_rm_access::rr
uint32_t rr
Definition:
rte_ecpri.h:124
rte_ecpri_msg_rm_access::rma_id
uint32_t rma_id
Definition:
rte_ecpri.h:126
rte_ecpri_msg_rm_access::rw
uint32_t rw
Definition:
rte_ecpri.h:125
rte_ecpri_msg_rm_access::length
rte_be16_t length
Definition:
rte_ecpri.h:134
rte_ecpri_msg_rm_access::addr
uint8_t addr[6]
Definition:
rte_ecpri.h:133
rte_ecpri_msg_rtc_ctrl
Definition:
rte_ecpri.h:105
rte_ecpri_msg_rtc_ctrl::rtc_id
rte_be16_t rtc_id
Definition:
rte_ecpri.h:106
rte_ecpri_msg_rtc_ctrl::seq_id
rte_be16_t seq_id
Definition:
rte_ecpri.h:107
Generated by
1.9.4