drivers/net/ethernet/netronome/nfp/flower/cmsg.h

Source file repositories/reference/linux-study-clean/drivers/net/ethernet/netronome/nfp/flower/cmsg.h

File Facts

System
Linux kernel
Corpus path
drivers/net/ethernet/netronome/nfp/flower/cmsg.h
Extension
.h
Size
24833 bytes
Lines
753
Domain
Driver Families
Bucket
drivers/net
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

struct nfp_fl_act_head {
	u8 jump_id;
	u8 len_lw;
};

struct nfp_fl_set_eth {
	struct nfp_fl_act_head head;
	__be16 reserved;
	u8 eth_addr_mask[ETH_ALEN * 2];
	u8 eth_addr_val[ETH_ALEN * 2];
};

struct nfp_fl_set_ip4_addrs {
	struct nfp_fl_act_head head;
	__be16 reserved;
	__be32 ipv4_src_mask;
	__be32 ipv4_src;
	__be32 ipv4_dst_mask;
	__be32 ipv4_dst;
};

struct nfp_fl_set_ip4_ttl_tos {
	struct nfp_fl_act_head head;
	u8 ipv4_ttl_mask;
	u8 ipv4_tos_mask;
	u8 ipv4_ttl;
	u8 ipv4_tos;
	__be16 reserved;
};

struct nfp_fl_set_ipv6_tc_hl_fl {
	struct nfp_fl_act_head head;
	u8 ipv6_tc_mask;
	u8 ipv6_hop_limit_mask;
	__be16 reserved;
	u8 ipv6_tc;
	u8 ipv6_hop_limit;
	__be32 ipv6_label_mask;
	__be32 ipv6_label;
};

struct nfp_fl_set_ipv6_addr {
	struct nfp_fl_act_head head;
	__be16 reserved;
	struct {
		__be32 mask;
		__be32 exact;
	} ipv6[4];
};

struct nfp_fl_set_tport {
	struct nfp_fl_act_head head;
	__be16 reserved;
	u8 tp_port_mask[4];
	u8 tp_port_val[4];
};

struct nfp_fl_output {
	struct nfp_fl_act_head head;
	__be16 flags;
	__be32 port;
};

struct nfp_fl_push_vlan {
	struct nfp_fl_act_head head;
	__be16 reserved;
	__be16 vlan_tpid;
	__be16 vlan_tci;
};

struct nfp_fl_pop_vlan {
	struct nfp_fl_act_head head;
	__be16 reserved;
};

struct nfp_fl_pre_lag {
	struct nfp_fl_act_head head;
	__be16 group_id;
	u8 lag_version[3];
	u8 instance;
};

#define NFP_FL_PRE_LAG_VER_OFF	8

struct nfp_fl_pre_tunnel {
	struct nfp_fl_act_head head;
	__be16 flags;
	union {
		__be32 ipv4_dst;
		struct in6_addr ipv6_dst;

Annotation

Implementation Notes