drivers/net/ethernet/aquantia/atlantic/hw_atl2/hw_atl2_internal.h

Source file repositories/reference/linux-study-clean/drivers/net/ethernet/aquantia/atlantic/hw_atl2/hw_atl2_internal.h

File Facts

System
Linux kernel
Corpus path
drivers/net/ethernet/aquantia/atlantic/hw_atl2/hw_atl2_internal.h
Extension
.h
Size
6492 bytes
Lines
196
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 hw_atl2_l3_filter {
	u8 proto;
	u8 usage;
	u32 cmd;
	u32 srcip[4];
	u32 dstip[4];
};

struct hw_atl2_l4_filter {
	u8 usage;
	u32 cmd;
	u16 sport;
	u16 dport;
};

struct hw_atl2_l3l4_filter {
	s8 l3_index;
	s8 l4_index;
	u8 ipv6;
};

struct hw_atl2_tag_policy {
	u16 action;
	u16 usage;
};

struct hw_atl2_priv {
	struct hw_atl2_l3_filter l3_v4_filters[HW_ATL2_RPF_L3L4_FILTERS];
	struct hw_atl2_l3_filter l3_v6_filters[HW_ATL2_RPF_L3L4_FILTERS];
	struct hw_atl2_l4_filter l4_filters[HW_ATL2_RPF_L3L4_FILTERS];
	struct hw_atl2_l3l4_filter l3l4_filters[HW_ATL2_RPF_L3L4_FILTERS];
	struct hw_atl2_tag_policy etype_policy[HW_ATL2_RPF_ETYPE_FILTERS];
	struct statistics_s last_stats;
	unsigned int art_base_index;
	unsigned int art_count;
	unsigned int l2_filters_base_index;
	unsigned int l2_filter_count;
	unsigned int etype_filter_base_index;
	unsigned int etype_filter_count;
	unsigned int etype_filter_tag_top;
	unsigned int vlan_filter_base_index;
	unsigned int vlan_filter_count;
	unsigned int l3_v4_filter_base_index;
	unsigned int l3_v4_filter_count;
	unsigned int l3_v6_filter_base_index;
	unsigned int l3_v6_filter_count;
	unsigned int l4_filter_base_index;
	unsigned int l4_filter_count;
};

#endif /* HW_ATL2_INTERNAL_H */

Annotation

Implementation Notes