175 lines · c
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 injection7 * IFH is transmitted MSByte first (Highest bit pos sent as MSB of first byte)8 */9 10#define IFH_LEN 711#define IFH_LEN_BYTES (IFH_LEN * sizeof(u32))12 13/* Timestamp for frame */14#define IFH_POS_TIMESTAMP 19215 16/* Bypass analyzer with a prefilled IFH */17#define IFH_POS_BYPASS 19118 19/* Masqueraded injection with masq_port defining logical source port */20#define IFH_POS_MASQ 19021 22/* Masqueraded port number for injection */23#define IFH_POS_MASQ_PORT 18624 25/* Frame length (*) */26#define IFH_POS_LEN 17827 28/* Cell filling mode. Full(0),Etype(1), LlctOpt(2), Llct(3) */29#define IFH_POS_WRDMODE 17630 31/* Frame has 16 bits rtag removed compared to line data */32#define IFH_POS_RTAG48 17533 34/* Frame has a redundancy tag */35#define IFH_POS_HAS_RED_TAG 17436 37/* Frame has been cut through forwarded (*) */38#define IFH_POS_CUTTHRU 17339 40/* Rewriter command */41#define IFH_POS_REW_CMD 16342 43/* Enable OAM-related rewriting. PDU_TYPE encodes OAM type. */44#define IFH_POS_REW_OAM 16245 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 15850 51/* Update FCS before transmission */52#define IFH_POS_FCS_UPD 15753 54/* Classified DSCP value of frame */55#define IFH_POS_DSCP 15156 57/* Yellow indication */58#define IFH_POS_DP 15059 60/* Process in RTE/inbound */61#define IFH_POS_RTE_INB_UPDATE 14962 63/* Number of tags to pop from frame */64#define IFH_POS_POP_CNT 14765 66/* Number of tags in front of the ethertype */67#define IFH_POS_ETYPE_OFS 14568 69/* Logical source port of frame (*) */70#define IFH_POS_SRCPORT 14171 72/* Sequence number in redundancy tag */73#define IFH_POS_SEQ_NUM 12074 75/* Stagd flag and classified TCI of frame (PCP/DEI/VID) */76#define IFH_POS_TCI 10377 78/* Classified internal priority for queuing */79#define IFH_POS_QOS_CLASS 10080 81/* Bit mask with eight cpu copy classes */82#define IFH_POS_CPUQ 9283 84/* Relearn + learn flags (*) */85#define IFH_POS_LEARN_FLAGS 9086 87/* SFLOW identifier for frame (0-8: Tx port, 9: Rx sampling, 15: No sampling) */88#define IFH_POS_SFLOW_ID 8689 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 8594 95/* S2 rule index hit (*) */96#define IFH_POS_ACL_IDX 7997 98/* ISDX as classified by S1 */99#define IFH_POS_ISDX 71100 101/* Destination ports for frame */102#define IFH_POS_DSTS 62103 104/* Storm policer to be applied: None/Uni/Multi/Broad (*) */105#define IFH_POS_FLOOD 60106 107/* Redundancy tag operation */108#define IFH_POS_SEQ_OP 58109 110/* Classified internal priority for resourcemgt, tagging etc */111#define IFH_POS_IPV 55112 113/* Frame is for AFI use */114#define IFH_POS_AFI 54115 116/* Internal aging value (*) */117#define IFH_POS_AGED 52118 119/* RTP Identifier */120#define IFH_POS_RTP_ID 42121 122/* RTP MRPD flow */123#define IFH_POS_RTP_SUBID 41124 125/* Profinet DataStatus or opcua GroupVersion MSB */126#define IFH_POS_PN_DATA_STATUS 33127 128/* Profinet transfer status (1 iff the status is 0) */129#define IFH_POS_PN_TRANSF_STATUS_ZERO 32130 131/* Profinet cycle counter or opcua NetworkMessageNumber */132#define IFH_POS_PN_CC 16133 134#define IFH_WID_TIMESTAMP 32135#define IFH_WID_BYPASS 1136#define IFH_WID_MASQ 1137#define IFH_WID_MASQ_PORT 4138#define IFH_WID_LEN 14139#define IFH_WID_WRDMODE 2140#define IFH_WID_RTAG48 1141#define IFH_WID_HAS_RED_TAG 1142#define IFH_WID_CUTTHRU 1143#define IFH_WID_REW_CMD 10144#define IFH_WID_REW_OAM 1145#define IFH_WID_PDU_TYPE 4146#define IFH_WID_FCS_UPD 1147#define IFH_WID_DSCP 6148#define IFH_WID_DP 1149#define IFH_WID_RTE_INB_UPDATE 1150#define IFH_WID_POP_CNT 2151#define IFH_WID_ETYPE_OFS 2152#define IFH_WID_SRCPORT 4153#define IFH_WID_SEQ_NUM 16154#define IFH_WID_TCI 17155#define IFH_WID_QOS_CLASS 3156#define IFH_WID_CPUQ 8157#define IFH_WID_LEARN_FLAGS 2158#define IFH_WID_SFLOW_ID 4159#define IFH_WID_ACL_HIT 1160#define IFH_WID_ACL_IDX 6161#define IFH_WID_ISDX 8162#define IFH_WID_DSTS 9163#define IFH_WID_FLOOD 2164#define IFH_WID_SEQ_OP 2165#define IFH_WID_IPV 3166#define IFH_WID_AFI 1167#define IFH_WID_AGED 2168#define IFH_WID_RTP_ID 10169#define IFH_WID_RTP_SUBID 1170#define IFH_WID_PN_DATA_STATUS 8171#define IFH_WID_PN_TRANSF_STATUS_ZERO 1172#define IFH_WID_PN_CC 16173 174#endif /* __LAN966X_IFH_H__ */175