Linux Audio

Check our new training course

Loading...
Note: File does not exist in v3.1.
  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 classses */
 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__ */