]> Git Repo - J-linux.git/blob - drivers/net/ethernet/microchip/lan966x/lan966x_ifh.h
Merge tag 'vfs-6.13-rc7.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs
[J-linux.git] / drivers / net / ethernet / microchip / lan966x / lan966x_ifh.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2
3 #ifndef __LAN966X_IFH_H__
4 #define __LAN966X_IFH_H__
5
6 /* Fields with description (*) should just be cleared upon injection
7  * IFH is transmitted MSByte first (Highest bit pos sent as MSB of first byte)
8  */
9
10 #define IFH_LEN                      7
11 #define IFH_LEN_BYTES                (IFH_LEN * sizeof(u32))
12
13 /* Timestamp for frame */
14 #define IFH_POS_TIMESTAMP            192
15
16 /* Bypass analyzer with a prefilled IFH */
17 #define IFH_POS_BYPASS               191
18
19 /* Masqueraded injection with masq_port defining logical source port */
20 #define IFH_POS_MASQ                 190
21
22 /* Masqueraded port number for injection */
23 #define IFH_POS_MASQ_PORT            186
24
25 /* Frame length (*) */
26 #define IFH_POS_LEN                  178
27
28 /* Cell filling mode. Full(0),Etype(1), LlctOpt(2), Llct(3) */
29 #define IFH_POS_WRDMODE              176
30
31 /* Frame has 16 bits rtag removed compared to line data */
32 #define IFH_POS_RTAG48               175
33
34 /* Frame has a redundancy tag */
35 #define IFH_POS_HAS_RED_TAG          174
36
37 /* Frame has been cut through forwarded (*) */
38 #define IFH_POS_CUTTHRU              173
39
40 /* Rewriter command */
41 #define IFH_POS_REW_CMD              163
42
43 /* Enable OAM-related rewriting. PDU_TYPE encodes OAM type. */
44 #define IFH_POS_REW_OAM              162
45
46 /* PDU type. Encoding: (0-NONE, 1-Y1731_CCM, 2-MRP_TST, 3-MRP_ITST, 4-DLR_BCN,
47  * 5-DLR_ADV, 6-RTE_NULL_INJ, 7-IPV4, 8-IPV6, 9-Y1731_NON_CCM).
48  */
49 #define IFH_POS_PDU_TYPE             158
50
51 /* Update FCS before transmission */
52 #define IFH_POS_FCS_UPD              157
53
54 /* Classified DSCP value of frame */
55 #define IFH_POS_DSCP                 151
56
57 /* Yellow indication */
58 #define IFH_POS_DP                   150
59
60 /* Process in RTE/inbound */
61 #define IFH_POS_RTE_INB_UPDATE       149
62
63 /* Number of tags to pop from frame */
64 #define IFH_POS_POP_CNT              147
65
66 /* Number of tags in front of the ethertype */
67 #define IFH_POS_ETYPE_OFS            145
68
69 /* Logical source port of frame (*) */
70 #define IFH_POS_SRCPORT              141
71
72 /* Sequence number in redundancy tag */
73 #define IFH_POS_SEQ_NUM              120
74
75 /* Stagd flag and classified TCI of frame (PCP/DEI/VID) */
76 #define IFH_POS_TCI                  103
77
78 /* Classified internal priority for queuing */
79 #define IFH_POS_QOS_CLASS            100
80
81 /* Bit mask with eight cpu copy classes */
82 #define IFH_POS_CPUQ                 92
83
84 /* Relearn + learn flags (*) */
85 #define IFH_POS_LEARN_FLAGS          90
86
87 /* SFLOW identifier for frame (0-8: Tx port, 9: Rx sampling, 15: No sampling) */
88 #define IFH_POS_SFLOW_ID             86
89
90 /* Set if an ACL/S2 rule was hit (*).
91  * Super priority: acl_hit=0 and acl_hit(4)=1.
92  */
93 #define IFH_POS_ACL_HIT              85
94
95 /* S2 rule index hit (*) */
96 #define IFH_POS_ACL_IDX              79
97
98 /* ISDX as classified by S1 */
99 #define IFH_POS_ISDX                 71
100
101 /* Destination ports for frame */
102 #define IFH_POS_DSTS                 62
103
104 /* Storm policer to be applied: None/Uni/Multi/Broad (*) */
105 #define IFH_POS_FLOOD                60
106
107 /* Redundancy tag operation */
108 #define IFH_POS_SEQ_OP               58
109
110 /* Classified internal priority for resourcemgt, tagging etc */
111 #define IFH_POS_IPV                  55
112
113 /* Frame is for AFI use */
114 #define IFH_POS_AFI                  54
115
116 /* Internal aging value (*) */
117 #define IFH_POS_AGED                 52
118
119 /* RTP Identifier */
120 #define IFH_POS_RTP_ID               42
121
122 /* RTP MRPD flow */
123 #define IFH_POS_RTP_SUBID            41
124
125 /* Profinet DataStatus or opcua GroupVersion MSB */
126 #define IFH_POS_PN_DATA_STATUS       33
127
128 /* Profinet transfer status (1 iff the status is 0) */
129 #define IFH_POS_PN_TRANSF_STATUS_ZERO 32
130
131 /* Profinet cycle counter or opcua NetworkMessageNumber */
132 #define IFH_POS_PN_CC                16
133
134 #define IFH_WID_TIMESTAMP            32
135 #define IFH_WID_BYPASS               1
136 #define IFH_WID_MASQ                 1
137 #define IFH_WID_MASQ_PORT            4
138 #define IFH_WID_LEN                  14
139 #define IFH_WID_WRDMODE              2
140 #define IFH_WID_RTAG48               1
141 #define IFH_WID_HAS_RED_TAG          1
142 #define IFH_WID_CUTTHRU              1
143 #define IFH_WID_REW_CMD              10
144 #define IFH_WID_REW_OAM              1
145 #define IFH_WID_PDU_TYPE             4
146 #define IFH_WID_FCS_UPD              1
147 #define IFH_WID_DSCP                 6
148 #define IFH_WID_DP                   1
149 #define IFH_WID_RTE_INB_UPDATE       1
150 #define IFH_WID_POP_CNT              2
151 #define IFH_WID_ETYPE_OFS            2
152 #define IFH_WID_SRCPORT              4
153 #define IFH_WID_SEQ_NUM              16
154 #define IFH_WID_TCI                  17
155 #define IFH_WID_QOS_CLASS            3
156 #define IFH_WID_CPUQ                 8
157 #define IFH_WID_LEARN_FLAGS          2
158 #define IFH_WID_SFLOW_ID             4
159 #define IFH_WID_ACL_HIT              1
160 #define IFH_WID_ACL_IDX              6
161 #define IFH_WID_ISDX                 8
162 #define IFH_WID_DSTS                 9
163 #define IFH_WID_FLOOD                2
164 #define IFH_WID_SEQ_OP               2
165 #define IFH_WID_IPV                  3
166 #define IFH_WID_AFI                  1
167 #define IFH_WID_AGED                 2
168 #define IFH_WID_RTP_ID               10
169 #define IFH_WID_RTP_SUBID            1
170 #define IFH_WID_PN_DATA_STATUS       8
171 #define IFH_WID_PN_TRANSF_STATUS_ZERO 1
172 #define IFH_WID_PN_CC                16
173
174 #endif /* __LAN966X_IFH_H__ */
This page took 0.036253 seconds and 4 git commands to generate.