/* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */
/* Copyright (c) 2015-2018 Mellanox Technologies. All rights reserved */
#ifndef _MLXSW_TXHEADER_H
#define _MLXSW_TXHEADER_H
/* tx_hdr_version
* Tx header version .
* Must be set to 1 .
*/
MLXSW_ITEM32(tx, hdr, version, 0 x00, 28 , 4 );
/* tx_hdr_ctl
* Packet control type .
* 0 - Ethernet control ( e . g . EMADs , LACP )
* 1 - Ethernet data
*/
MLXSW_ITEM32(tx, hdr, ctl, 0 x00, 26 , 2 );
/* tx_hdr_proto
* Packet protocol type . Must be set to 1 ( Ethernet ) .
*/
MLXSW_ITEM32(tx, hdr, proto, 0 x00, 21 , 3 );
/* tx_hdr_rx_is_router
* Packet is sent from the router . Valid for data packets only .
*/
MLXSW_ITEM32(tx, hdr, rx_is_router, 0 x00, 19 , 1 );
/* tx_hdr_fid_valid
* Indicates if the ' fid ' field is valid and should be used for
* forwarding lookup . Valid for data packets only .
*/
MLXSW_ITEM32(tx, hdr, fid_valid, 0 x00, 16 , 1 );
/* tx_hdr_swid
* Switch partition ID . Must be set to 0 .
*/
MLXSW_ITEM32(tx, hdr, swid, 0 x00, 12 , 3 );
/* tx_hdr_control_tclass
* Indicates if the packet should use the control TClass and not one
* of the data TClasses .
*/
MLXSW_ITEM32(tx, hdr, control_tclass, 0 x00, 6 , 1 );
/* tx_hdr_port_mid
* Destination local port for unicast packets .
* Destination multicast ID for multicast packets .
*
* Control packets are directed to a specific egress port , while data
* packets are transmitted through the CPU port ( 0 ) into the switch partition ,
* where forwarding rules are applied .
*/
MLXSW_ITEM32(tx, hdr, port_mid, 0 x04, 16 , 16 );
/* tx_hdr_fid
* Forwarding ID used for L2 forwarding lookup . Valid only if ' fid_valid ' is
* set , otherwise calculated based on the packet ' s VID using VID to FID mapping .
* Valid for data packets only .
*/
MLXSW_ITEM32(tx, hdr, fid, 0 x08, 16 , 16 );
/* tx_hdr_type
* 0 - Data packets
* 6 - Control packets
*/
MLXSW_ITEM32(tx, hdr, type, 0 x0C, 0 , 4 );
#define MLXSW_TXHDR_LEN 0 x10
#define MLXSW_TXHDR_VERSION_0 0
#define MLXSW_TXHDR_VERSION_1 1
enum {
MLXSW_TXHDR_ETH_CTL,
MLXSW_TXHDR_ETH_DATA,
};
#define MLXSW_TXHDR_PROTO_ETH 1
enum {
MLXSW_TXHDR_ETCLASS_0,
MLXSW_TXHDR_ETCLASS_1,
MLXSW_TXHDR_ETCLASS_2,
MLXSW_TXHDR_ETCLASS_3,
MLXSW_TXHDR_ETCLASS_4,
MLXSW_TXHDR_ETCLASS_5,
MLXSW_TXHDR_ETCLASS_6,
MLXSW_TXHDR_ETCLASS_7,
};
enum {
MLXSW_TXHDR_RDQ_OTHER,
MLXSW_TXHDR_RDQ_EMAD = 0 x1f,
};
#define MLXSW_TXHDR_CTCLASS3 0
#define MLXSW_TXHDR_CPU_SIG 0
#define MLXSW_TXHDR_SIG 0 xE0E0
#define MLXSW_TXHDR_STCLASS_NONE 0
enum {
MLXSW_TXHDR_NOT_EMAD,
MLXSW_TXHDR_EMAD,
};
enum {
MLXSW_TXHDR_TYPE_DATA,
MLXSW_TXHDR_TYPE_CONTROL = 6 ,
};
#endif
Messung V0.5 in Prozent C=94 H=100 G=96
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-10-04)
¤
*© Formatika GbR, Deutschland