include/linux/qed/eth_common.h

Source file repositories/reference/linux-study-clean/include/linux/qed/eth_common.h

File Facts

System
Linux kernel
Corpus path
include/linux/qed/eth_common.h
Extension
.h
Size
14538 bytes
Lines
491
Domain
Core OS
Bucket
Core Kernel Interface
Inferred role
Core OS: implementation source
Status
source implementation candidate

Why This File Exists

Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.

Dependency Surface

Detected Declarations

Annotated Snippet

struct eth_tx_1st_bd_flags {
	u8 bitfields;
#define ETH_TX_1ST_BD_FLAGS_START_BD_MASK		0x1
#define ETH_TX_1ST_BD_FLAGS_START_BD_SHIFT		0
#define ETH_TX_1ST_BD_FLAGS_FORCE_VLAN_MODE_MASK	0x1
#define ETH_TX_1ST_BD_FLAGS_FORCE_VLAN_MODE_SHIFT	1
#define ETH_TX_1ST_BD_FLAGS_IP_CSUM_MASK		0x1
#define ETH_TX_1ST_BD_FLAGS_IP_CSUM_SHIFT		2
#define ETH_TX_1ST_BD_FLAGS_L4_CSUM_MASK		0x1
#define ETH_TX_1ST_BD_FLAGS_L4_CSUM_SHIFT		3
#define ETH_TX_1ST_BD_FLAGS_VLAN_INSERTION_MASK		0x1
#define ETH_TX_1ST_BD_FLAGS_VLAN_INSERTION_SHIFT	4
#define ETH_TX_1ST_BD_FLAGS_LSO_MASK			0x1
#define ETH_TX_1ST_BD_FLAGS_LSO_SHIFT			5
#define ETH_TX_1ST_BD_FLAGS_TUNN_IP_CSUM_MASK		0x1
#define ETH_TX_1ST_BD_FLAGS_TUNN_IP_CSUM_SHIFT		6
#define ETH_TX_1ST_BD_FLAGS_TUNN_L4_CSUM_MASK		0x1
#define ETH_TX_1ST_BD_FLAGS_TUNN_L4_CSUM_SHIFT		7
};

/* The parsing information data fo rthe first tx bd of a given packet */
struct eth_tx_data_1st_bd {
	__le16 vlan;
	u8 nbds;
	struct eth_tx_1st_bd_flags bd_flags;
	__le16 bitfields;
#define ETH_TX_DATA_1ST_BD_TUNN_FLAG_MASK	0x1
#define ETH_TX_DATA_1ST_BD_TUNN_FLAG_SHIFT	0
#define ETH_TX_DATA_1ST_BD_RESERVED0_MASK	0x1
#define ETH_TX_DATA_1ST_BD_RESERVED0_SHIFT	1
#define ETH_TX_DATA_1ST_BD_PKT_LEN_MASK		0x3FFF
#define ETH_TX_DATA_1ST_BD_PKT_LEN_SHIFT	2
};

/* The parsing information data for the second tx bd of a given packet */
struct eth_tx_data_2nd_bd {
	__le16 tunn_ip_size;
	__le16	bitfields1;
#define ETH_TX_DATA_2ND_BD_TUNN_INNER_L2_HDR_SIZE_W_MASK	0xF
#define ETH_TX_DATA_2ND_BD_TUNN_INNER_L2_HDR_SIZE_W_SHIFT	0
#define ETH_TX_DATA_2ND_BD_TUNN_INNER_ETH_TYPE_MASK		0x3
#define ETH_TX_DATA_2ND_BD_TUNN_INNER_ETH_TYPE_SHIFT		4
#define ETH_TX_DATA_2ND_BD_DST_PORT_MODE_MASK			0x3
#define ETH_TX_DATA_2ND_BD_DST_PORT_MODE_SHIFT			6
#define ETH_TX_DATA_2ND_BD_START_BD_MASK			0x1
#define ETH_TX_DATA_2ND_BD_START_BD_SHIFT			8
#define ETH_TX_DATA_2ND_BD_TUNN_TYPE_MASK			0x3
#define ETH_TX_DATA_2ND_BD_TUNN_TYPE_SHIFT			9
#define ETH_TX_DATA_2ND_BD_TUNN_INNER_IPV6_MASK			0x1
#define ETH_TX_DATA_2ND_BD_TUNN_INNER_IPV6_SHIFT		11
#define ETH_TX_DATA_2ND_BD_IPV6_EXT_MASK			0x1
#define ETH_TX_DATA_2ND_BD_IPV6_EXT_SHIFT			12
#define ETH_TX_DATA_2ND_BD_TUNN_IPV6_EXT_MASK			0x1
#define ETH_TX_DATA_2ND_BD_TUNN_IPV6_EXT_SHIFT			13
#define ETH_TX_DATA_2ND_BD_L4_UDP_MASK				0x1
#define ETH_TX_DATA_2ND_BD_L4_UDP_SHIFT				14
#define ETH_TX_DATA_2ND_BD_L4_PSEUDO_CSUM_MODE_MASK		0x1
#define ETH_TX_DATA_2ND_BD_L4_PSEUDO_CSUM_MODE_SHIFT		15
	__le16 bitfields2;
#define ETH_TX_DATA_2ND_BD_L4_HDR_START_OFFSET_W_MASK		0x1FFF
#define ETH_TX_DATA_2ND_BD_L4_HDR_START_OFFSET_W_SHIFT		0
#define ETH_TX_DATA_2ND_BD_RESERVED0_MASK			0x7
#define ETH_TX_DATA_2ND_BD_RESERVED0_SHIFT			13
};

/* Firmware data for L2-EDPM packet */
struct eth_edpm_fw_data {
	struct eth_tx_data_1st_bd data_1st_bd;
	struct eth_tx_data_2nd_bd data_2nd_bd;
	__le32 reserved;
};

/* Tunneling parsing flags */
struct eth_tunnel_parsing_flags {
	u8 flags;
#define	ETH_TUNNEL_PARSING_FLAGS_TYPE_MASK		0x3
#define	ETH_TUNNEL_PARSING_FLAGS_TYPE_SHIFT		0
#define	ETH_TUNNEL_PARSING_FLAGS_TENNANT_ID_EXIST_MASK	0x1
#define	ETH_TUNNEL_PARSING_FLAGS_TENNANT_ID_EXIST_SHIFT	2
#define	ETH_TUNNEL_PARSING_FLAGS_NEXT_PROTOCOL_MASK	0x3
#define	ETH_TUNNEL_PARSING_FLAGS_NEXT_PROTOCOL_SHIFT	3
#define	ETH_TUNNEL_PARSING_FLAGS_FIRSTHDRIPMATCH_MASK	0x1
#define	ETH_TUNNEL_PARSING_FLAGS_FIRSTHDRIPMATCH_SHIFT	5
#define	ETH_TUNNEL_PARSING_FLAGS_IPV4_FRAGMENT_MASK	0x1
#define	ETH_TUNNEL_PARSING_FLAGS_IPV4_FRAGMENT_SHIFT	6
#define	ETH_TUNNEL_PARSING_FLAGS_IPV4_OPTIONS_MASK	0x1
#define	ETH_TUNNEL_PARSING_FLAGS_IPV4_OPTIONS_SHIFT	7
};

/* PMD flow control bits */

Annotation

Implementation Notes