drivers/net/ethernet/intel/ice/ice_protocol_type.h
Source file repositories/reference/linux-study-clean/drivers/net/ethernet/intel/ice/ice_protocol_type.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/ethernet/intel/ice/ice_protocol_type.h- Extension
.h- Size
- 13266 bytes
- Lines
- 486
- 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.
- 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.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
struct ice_protocol_entrystruct ice_ether_hdrstruct ice_ethtype_hdrstruct ice_ether_vlan_hdrstruct ice_vlan_hdrstruct ice_ipv4_hdrstruct ice_ipv6_hdrstruct ice_sctp_hdrstruct ice_l4_hdrstruct ice_udp_tnl_hdrstruct ice_udp_gtp_hdrstruct ice_pfcp_hdrstruct ice_pppoe_hdrstruct ice_l2tpv3_sess_hdrstruct ice_nvgre_hdrstruct ice_hw_metadatastruct ice_prot_ext_tbl_entrystruct ice_prot_lkup_extenum ice_protocol_typeenum ice_sw_tunnel_typeenum ice_prot_idenum ice_hw_metadata_idenum ice_hw_metadata_offsetenum ice_pkt_flags
Annotated Snippet
struct ice_protocol_entry {
enum ice_protocol_type type;
u8 protocol_id;
};
struct ice_ether_hdr {
u8 dst_addr[ETH_ALEN];
u8 src_addr[ETH_ALEN];
};
struct ice_ethtype_hdr {
__be16 ethtype_id;
};
struct ice_ether_vlan_hdr {
u8 dst_addr[ETH_ALEN];
u8 src_addr[ETH_ALEN];
__be32 vlan_id;
};
struct ice_vlan_hdr {
__be16 type;
__be16 vlan;
};
struct ice_ipv4_hdr {
u8 version;
u8 tos;
__be16 total_length;
__be16 id;
__be16 frag_off;
u8 time_to_live;
u8 protocol;
__be16 check;
__be32 src_addr;
__be32 dst_addr;
};
struct ice_ipv6_hdr {
__be32 be_ver_tc_flow;
__be16 payload_len;
u8 next_hdr;
u8 hop_limit;
u8 src_addr[ICE_IPV6_ADDR_LENGTH];
u8 dst_addr[ICE_IPV6_ADDR_LENGTH];
};
struct ice_sctp_hdr {
__be16 src_port;
__be16 dst_port;
__be32 verification_tag;
__be32 check;
};
struct ice_l4_hdr {
__be16 src_port;
__be16 dst_port;
__be16 len;
__be16 check;
};
struct ice_udp_tnl_hdr {
__be16 field;
__be16 proto_type;
__be32 vni; /* only use lower 24-bits */
};
struct ice_udp_gtp_hdr {
u8 flags;
u8 msg_type;
__be16 rsrvd_len;
__be32 teid;
__be16 rsrvd_seq_nbr;
u8 rsrvd_n_pdu_nbr;
u8 rsrvd_next_ext;
u8 rsvrd_ext_len;
u8 pdu_type;
u8 qfi;
u8 rsvrd;
};
struct ice_pfcp_hdr {
u8 flags;
u8 msg_type;
__be16 length;
__be64 seid;
__be32 seq;
u8 spare;
} __packed __aligned(__alignof__(u16));
Annotation
- Detected declarations: `struct ice_protocol_entry`, `struct ice_ether_hdr`, `struct ice_ethtype_hdr`, `struct ice_ether_vlan_hdr`, `struct ice_vlan_hdr`, `struct ice_ipv4_hdr`, `struct ice_ipv6_hdr`, `struct ice_sctp_hdr`, `struct ice_l4_hdr`, `struct ice_udp_tnl_hdr`.
- Atlas domain: Driver Families / drivers/net.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.