/* pci_wqe_c * If set it indicates that a completion should be reported upon * execution of this descriptor.
*/
MLXSW_ITEM32(pci, wqe, c, 0x00, 31, 1);
/* pci_wqe_lp * Local Processing, set if packet should be processed by the local * switch hardware: * For Ethernet EMAD (Direct Route and non Direct Route) - * must be set if packet destination is local device * For InfiniBand CTL - must be set if packet destination is local device * Otherwise it must be clear * Local Process packets must not exceed the size of 2K (including payload * and headers).
*/
MLXSW_ITEM32(pci, wqe, lp, 0x00, 30, 1);
/* pci_cqe_lag * Packet arrives from a port which is a LAG
*/
MLXSW_ITEM32(pci, cqe0, lag, 0x00, 23, 1);
MLXSW_ITEM32(pci, cqe12, lag, 0x00, 24, 1);
mlxsw_pci_cqe_item_helpers(lag, 0, 12, 12);
/* pci_cqe_system_port/lag_id * When lag=0: System port on which the packet was received * When lag=1: * bits [15:4] LAG ID on which the packet was received * bits [3:0] sub_port on which the packet was received
*/
MLXSW_ITEM32(pci, cqe, system_port, 0x00, 0, 16);
MLXSW_ITEM32(pci, cqe0, lag_id, 0x00, 4, 12);
MLXSW_ITEM32(pci, cqe12, lag_id, 0x00, 0, 16);
mlxsw_pci_cqe_item_helpers(lag_id, 0, 12, 12);
MLXSW_ITEM32(pci, cqe0, lag_subport, 0x00, 0, 4);
MLXSW_ITEM32(pci, cqe12, lag_subport, 0x00, 16, 8);
mlxsw_pci_cqe_item_helpers(lag_subport, 0, 12, 12);
/* pci_cqe_wqe_counter * WQE count of the WQEs completed on the associated dqn
*/
MLXSW_ITEM32(pci, cqe, wqe_counter, 0x04, 16, 16);
/* pci_cqe_byte_count * Byte count of received packets including additional two * Reserved Bytes that are append to the end of the frame. * Reserved for Send CQE.
*/
MLXSW_ITEM32(pci, cqe, byte_count, 0x04, 0, 14);
#define MLXSW_PCI_CQE2_MIRROR_CONG_INVALID 0xFFFF
/* pci_cqe_mirror_cong_high * Congestion level in units of 8KB of the egress traffic class of the original * packet that does mirroring to the CPU. Value of 0xFFFF means that the * congestion level is invalid.
*/
MLXSW_ITEM32(pci, cqe2, mirror_cong_high, 0x08, 16, 4);
/* pci_cqe_trap_id * Trap ID that captured the packet.
*/
MLXSW_ITEM32(pci, cqe, trap_id, 0x08, 0, 10);
/* pci_cqe_crc * Length include CRC. Indicates the length field includes * the packet's CRC.
*/
MLXSW_ITEM32(pci, cqe0, crc, 0x0C, 8, 1);
MLXSW_ITEM32(pci, cqe12, crc, 0x0C, 9, 1);
mlxsw_pci_cqe_item_helpers(crc, 0, 12, 12);
/* pci_cqe_e * CQE with Error.
*/
MLXSW_ITEM32(pci, cqe0, e, 0x0C, 7, 1);
MLXSW_ITEM32(pci, cqe12, e, 0x00, 27, 1);
mlxsw_pci_cqe_item_helpers(e, 0, 12, 12);
/* pci_cqe_time_stamp_low * Time stamp of the CQE * Format according to time_stamp_type: * 0: uSec - 1.024uSec (default for devices which do not support * time_stamp_type). Only bits 15:0 are valid * 1: FRC - Free Running Clock - units of 1nSec * 2: UTC - time_stamp[37:30] = Sec * - time_stamp[29:0] = nSec * 3: Mirror_UTC. UTC time stamp of the original packet that has * MIRROR_SESSION traps * - time_stamp[37:30] = Sec * - time_stamp[29:0] = nSec * Formats 0..2 are configured by * CONFIG_PROFILE.cqe_time_stamp_type for PTP traps * Format 3 is used for MIRROR_SESSION traps * Note that Spectrum does not reveal FRC, UTC and Mirror_UTC
*/
MLXSW_ITEM32(pci, cqe2, time_stamp_low, 0x0C, 16, 16);
#define MLXSW_PCI_CQE2_MIRROR_TCLASS_INVALID 0x1F
/* pci_cqe_mirror_tclass * The egress traffic class of the original packet that does mirroring to the * CPU. Value of 0x1F means that the traffic class is invalid.
*/
MLXSW_ITEM32(pci, cqe2, mirror_tclass, 0x10, 27, 5);
/* pci_cqe_tx_lag * The Tx port of a packet that is mirrored / sampled to the CPU is a LAG.
*/
MLXSW_ITEM32(pci, cqe2, tx_lag, 0x10, 24, 1);
/* pci_cqe_tx_lag_subport * The port index within the LAG of a packet that is mirrored / sampled to the * CPU. Reserved when tx_lag is 0.
*/
MLXSW_ITEM32(pci, cqe2, tx_lag_subport, 0x10, 16, 8);
/* pci_cqe_tx_lag_id * The Tx LAG ID of the original packet that is mirrored / sampled to the CPU. * Value of 0xFFFE means multi-port. Value fo 0xFFFF means that the Tx LAG ID * is invalid. Reserved when tx_lag is 0.
*/
MLXSW_ITEM32(pci, cqe2, tx_lag_id, 0x10, 0, 16);
/* pci_cqe_tx_system_port * The Tx port of the original packet that is mirrored / sampled to the CPU. * Value of 0xFFFE means multi-port. Value fo 0xFFFF means that the Tx port is * invalid. Reserved when tx_lag is 1.
*/
MLXSW_ITEM32(pci, cqe2, tx_system_port, 0x10, 0, 16);
/* pci_cqe_mirror_cong_low * Congestion level in units of 8KB of the egress traffic class of the original * packet that does mirroring to the CPU. Value of 0xFFFF means that the * congestion level is invalid.
*/
MLXSW_ITEM32(pci, cqe2, mirror_cong_low, 0x14, 20, 12);
#define MLXSW_PCI_CQE2_MIRROR_CONG_SHIFT 13 /* Units of 8KB. */
/* pci_cqe_user_def_val_orig_pkt_len * When trap_id is an ACL: User defined value from policy engine action.
*/
MLXSW_ITEM32(pci, cqe2, user_def_val_orig_pkt_len, 0x14, 0, 20);
/* pci_cqe_time_stamp_type * Time stamp type: * 0: uSec - 1.024uSec (default for devices which do not support * time_stamp_type) * 1: FRC - Free Running Clock - units of 1nSec * 2: UTC * 3: Mirror_UTC. UTC time stamp of the original packet that has * MIRROR_SESSION traps
*/
MLXSW_ITEM32(pci, cqe2, time_stamp_type, 0x18, 22, 2);
/* pci_cqe_time_stamp_high * Time stamp of the CQE * Format according to time_stamp_type: * 0: uSec - 1.024uSec (default for devices which do not support * time_stamp_type). Only bits 15:0 are valid * 1: FRC - Free Running Clock - units of 1nSec * 2: UTC - time_stamp[37:30] = Sec * - time_stamp[29:0] = nSec * 3: Mirror_UTC. UTC time stamp of the original packet that has * MIRROR_SESSION traps * - time_stamp[37:30] = Sec * - time_stamp[29:0] = nSec * Formats 0..2 are configured by * CONFIG_PROFILE.cqe_time_stamp_type for PTP traps * Format 3 is used for MIRROR_SESSION traps * Note that Spectrum does not reveal FRC, UTC and Mirror_UTC
*/
MLXSW_ITEM32(pci, cqe2, time_stamp_high, 0x18, 0, 22);
/* pci_cqe_mirror_latency * End-to-end latency of the original packet that does mirroring to the CPU. * Value of 0xFFFFFF means that the latency is invalid. Units are according to * MOGCR.mirror_latency_units.
*/
MLXSW_ITEM32(pci, cqe2, mirror_latency, 0x1C, 8, 24);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.