175 lines
5.2 KiB
C
175 lines
5.2 KiB
C
|
/* SPDX-License-Identifier: GPL-2.0+ */
|
||
|
|
||
|
#ifndef __LAN966X_IFH_H__
|
||
|
#define __LAN966X_IFH_H__
|
||
|
|
||
|
/* Fields with description (*) should just be cleared upon injection
|
||
|
* IFH is transmitted MSByte first (Highest bit pos sent as MSB of first byte)
|
||
|
*/
|
||
|
|
||
|
#define IFH_LEN 7
|
||
|
#define IFH_LEN_BYTES (IFH_LEN * sizeof(u32))
|
||
|
|
||
|
/* Timestamp for frame */
|
||
|
#define IFH_POS_TIMESTAMP 192
|
||
|
|
||
|
/* Bypass analyzer with a prefilled IFH */
|
||
|
#define IFH_POS_BYPASS 191
|
||
|
|
||
|
/* Masqueraded injection with masq_port defining logical source port */
|
||
|
#define IFH_POS_MASQ 190
|
||
|
|
||
|
/* Masqueraded port number for injection */
|
||
|
#define IFH_POS_MASQ_PORT 186
|
||
|
|
||
|
/* Frame length (*) */
|
||
|
#define IFH_POS_LEN 178
|
||
|
|
||
|
/* Cell filling mode. Full(0),Etype(1), LlctOpt(2), Llct(3) */
|
||
|
#define IFH_POS_WRDMODE 176
|
||
|
|
||
|
/* Frame has 16 bits rtag removed compared to line data */
|
||
|
#define IFH_POS_RTAG48 175
|
||
|
|
||
|
/* Frame has a redundancy tag */
|
||
|
#define IFH_POS_HAS_RED_TAG 174
|
||
|
|
||
|
/* Frame has been cut through forwarded (*) */
|
||
|
#define IFH_POS_CUTTHRU 173
|
||
|
|
||
|
/* Rewriter command */
|
||
|
#define IFH_POS_REW_CMD 163
|
||
|
|
||
|
/* Enable OAM-related rewriting. PDU_TYPE encodes OAM type. */
|
||
|
#define IFH_POS_REW_OAM 162
|
||
|
|
||
|
/* PDU type. Encoding: (0-NONE, 1-Y1731_CCM, 2-MRP_TST, 3-MRP_ITST, 4-DLR_BCN,
|
||
|
* 5-DLR_ADV, 6-RTE_NULL_INJ, 7-IPV4, 8-IPV6, 9-Y1731_NON_CCM).
|
||
|
*/
|
||
|
#define IFH_POS_PDU_TYPE 158
|
||
|
|
||
|
/* Update FCS before transmission */
|
||
|
#define IFH_POS_FCS_UPD 157
|
||
|
|
||
|
/* Classified DSCP value of frame */
|
||
|
#define IFH_POS_DSCP 151
|
||
|
|
||
|
/* Yellow indication */
|
||
|
#define IFH_POS_DP 150
|
||
|
|
||
|
/* Process in RTE/inbound */
|
||
|
#define IFH_POS_RTE_INB_UPDATE 149
|
||
|
|
||
|
/* Number of tags to pop from frame */
|
||
|
#define IFH_POS_POP_CNT 147
|
||
|
|
||
|
/* Number of tags in front of the ethertype */
|
||
|
#define IFH_POS_ETYPE_OFS 145
|
||
|
|
||
|
/* Logical source port of frame (*) */
|
||
|
#define IFH_POS_SRCPORT 141
|
||
|
|
||
|
/* Sequence number in redundancy tag */
|
||
|
#define IFH_POS_SEQ_NUM 120
|
||
|
|
||
|
/* Stagd flag and classified TCI of frame (PCP/DEI/VID) */
|
||
|
#define IFH_POS_TCI 103
|
||
|
|
||
|
/* Classified internal priority for queuing */
|
||
|
#define IFH_POS_QOS_CLASS 100
|
||
|
|
||
|
/* Bit mask with eight cpu copy classses */
|
||
|
#define IFH_POS_CPUQ 92
|
||
|
|
||
|
/* Relearn + learn flags (*) */
|
||
|
#define IFH_POS_LEARN_FLAGS 90
|
||
|
|
||
|
/* SFLOW identifier for frame (0-8: Tx port, 9: Rx sampling, 15: No sampling) */
|
||
|
#define IFH_POS_SFLOW_ID 86
|
||
|
|
||
|
/* Set if an ACL/S2 rule was hit (*).
|
||
|
* Super priority: acl_hit=0 and acl_hit(4)=1.
|
||
|
*/
|
||
|
#define IFH_POS_ACL_HIT 85
|
||
|
|
||
|
/* S2 rule index hit (*) */
|
||
|
#define IFH_POS_ACL_IDX 79
|
||
|
|
||
|
/* ISDX as classified by S1 */
|
||
|
#define IFH_POS_ISDX 71
|
||
|
|
||
|
/* Destination ports for frame */
|
||
|
#define IFH_POS_DSTS 62
|
||
|
|
||
|
/* Storm policer to be applied: None/Uni/Multi/Broad (*) */
|
||
|
#define IFH_POS_FLOOD 60
|
||
|
|
||
|
/* Redundancy tag operation */
|
||
|
#define IFH_POS_SEQ_OP 58
|
||
|
|
||
|
/* Classified internal priority for resourcemgt, tagging etc */
|
||
|
#define IFH_POS_IPV 55
|
||
|
|
||
|
/* Frame is for AFI use */
|
||
|
#define IFH_POS_AFI 54
|
||
|
|
||
|
/* Internal aging value (*) */
|
||
|
#define IFH_POS_AGED 52
|
||
|
|
||
|
/* RTP Identifier */
|
||
|
#define IFH_POS_RTP_ID 42
|
||
|
|
||
|
/* RTP MRPD flow */
|
||
|
#define IFH_POS_RTP_SUBID 41
|
||
|
|
||
|
/* Profinet DataStatus or opcua GroupVersion MSB */
|
||
|
#define IFH_POS_PN_DATA_STATUS 33
|
||
|
|
||
|
/* Profinet transfer status (1 iff the status is 0) */
|
||
|
#define IFH_POS_PN_TRANSF_STATUS_ZERO 32
|
||
|
|
||
|
/* Profinet cycle counter or opcua NetworkMessageNumber */
|
||
|
#define IFH_POS_PN_CC 16
|
||
|
|
||
|
#define IFH_WID_TIMESTAMP 32
|
||
|
#define IFH_WID_BYPASS 1
|
||
|
#define IFH_WID_MASQ 1
|
||
|
#define IFH_WID_MASQ_PORT 4
|
||
|
#define IFH_WID_LEN 14
|
||
|
#define IFH_WID_WRDMODE 2
|
||
|
#define IFH_WID_RTAG48 1
|
||
|
#define IFH_WID_HAS_RED_TAG 1
|
||
|
#define IFH_WID_CUTTHRU 1
|
||
|
#define IFH_WID_REW_CMD 10
|
||
|
#define IFH_WID_REW_OAM 1
|
||
|
#define IFH_WID_PDU_TYPE 4
|
||
|
#define IFH_WID_FCS_UPD 1
|
||
|
#define IFH_WID_DSCP 6
|
||
|
#define IFH_WID_DP 1
|
||
|
#define IFH_WID_RTE_INB_UPDATE 1
|
||
|
#define IFH_WID_POP_CNT 2
|
||
|
#define IFH_WID_ETYPE_OFS 2
|
||
|
#define IFH_WID_SRCPORT 4
|
||
|
#define IFH_WID_SEQ_NUM 16
|
||
|
#define IFH_WID_TCI 17
|
||
|
#define IFH_WID_QOS_CLASS 3
|
||
|
#define IFH_WID_CPUQ 8
|
||
|
#define IFH_WID_LEARN_FLAGS 2
|
||
|
#define IFH_WID_SFLOW_ID 4
|
||
|
#define IFH_WID_ACL_HIT 1
|
||
|
#define IFH_WID_ACL_IDX 6
|
||
|
#define IFH_WID_ISDX 8
|
||
|
#define IFH_WID_DSTS 9
|
||
|
#define IFH_WID_FLOOD 2
|
||
|
#define IFH_WID_SEQ_OP 2
|
||
|
#define IFH_WID_IPV 3
|
||
|
#define IFH_WID_AFI 1
|
||
|
#define IFH_WID_AGED 2
|
||
|
#define IFH_WID_RTP_ID 10
|
||
|
#define IFH_WID_RTP_SUBID 1
|
||
|
#define IFH_WID_PN_DATA_STATUS 8
|
||
|
#define IFH_WID_PN_TRANSF_STATUS_ZERO 1
|
||
|
#define IFH_WID_PN_CC 16
|
||
|
|
||
|
#endif /* __LAN966X_IFH_H__ */
|