drivers/net/ethernet/intel/ice/ice_flex_type.h
Source file repositories/reference/linux-study-clean/drivers/net/ethernet/intel/ice/ice_flex_type.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/ethernet/intel/ice/ice_flex_type.h- Extension
.h- Size
- 8748 bytes
- Lines
- 394
- 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
ice_ddp.h
Detected Declarations
struct ice_ptype_attrib_infostruct ice_ptype_attributesstruct ice_tunnel_type_scanstruct ice_tunnel_entrystruct ice_tunnel_tablestruct ice_dvm_entrystruct ice_dvm_tablestruct ice_pkg_esstruct ice_esstruct ice_ptg_entrystruct ice_ptg_ptypestruct ice_prof_mapstruct ice_tcam_infstruct ice_vsig_profstruct ice_vsig_entrystruct ice_vsig_vsistruct ice_xlt1struct ice_xlt2struct ice_prof_id_keystruct ice_prof_tcam_entrystruct ice_prof_id_sectionstruct ice_prof_tcamstruct ice_prof_redirstruct ice_maskstruct ice_masksstruct ice_prof_idstruct ice_blk_infostruct ice_chs_chgstruct ice_meta_init_entrystruct ice_meta_init_sectionenum ice_ptype_attrib_typeenum ice_tunnel_typeenum ice_chg_typeenum ice_prof_type
Annotated Snippet
struct ice_ptype_attrib_info {
u16 flags;
u16 mask;
};
/* TCAM flag definitions */
#define ICE_GTP_PDU BIT(14)
#define ICE_GTP_PDU_LINK BIT(13)
/* GTP attributes */
#define ICE_GTP_PDU_FLAG_MASK (ICE_GTP_PDU)
#define ICE_GTP_PDU_EH ICE_GTP_PDU
#define ICE_GTP_FLAGS_MASK (ICE_GTP_PDU | ICE_GTP_PDU_LINK)
#define ICE_GTP_SESSION 0
#define ICE_GTP_DOWNLINK ICE_GTP_PDU
#define ICE_GTP_UPLINK (ICE_GTP_PDU | ICE_GTP_PDU_LINK)
struct ice_ptype_attributes {
u16 ptype;
enum ice_ptype_attrib_type attrib;
};
/* Tunnel enabling */
enum ice_tunnel_type {
TNL_VXLAN = 0,
TNL_GENEVE,
TNL_GRETAP,
TNL_GTPC,
TNL_GTPU,
TNL_PFCP,
__TNL_TYPE_CNT,
TNL_LAST = 0xFF,
TNL_ALL = 0xFF,
};
struct ice_tunnel_type_scan {
enum ice_tunnel_type type;
const char *label_prefix;
};
struct ice_tunnel_entry {
enum ice_tunnel_type type;
u16 boost_addr;
u16 port;
struct ice_boost_tcam_entry *boost_entry;
u8 valid;
};
#define ICE_TUNNEL_MAX_ENTRIES 16
struct ice_tunnel_table {
struct ice_tunnel_entry tbl[ICE_TUNNEL_MAX_ENTRIES];
u16 count;
u16 valid_count[__TNL_TYPE_CNT];
};
struct ice_dvm_entry {
u16 boost_addr;
u16 enable;
struct ice_boost_tcam_entry *boost_entry;
};
#define ICE_DVM_MAX_ENTRIES 48
struct ice_dvm_table {
struct ice_dvm_entry tbl[ICE_DVM_MAX_ENTRIES];
u16 count;
};
struct ice_pkg_es {
__le16 count;
__le16 offset;
struct ice_fv_word es[];
};
struct ice_es {
u32 sid;
u16 count;
u16 fvw;
u16 *ref_count;
u32 *mask_ena;
struct list_head prof_map;
struct ice_fv_word *t;
u8 *symm; /* symmetric setting per profile (RSS blk)*/
struct mutex prof_map_lock; /* protect access to profiles list */
u8 *written;
u8 reverse; /* set to true to reverse FV order */
};
Annotation
- Immediate include surface: `ice_ddp.h`.
- Detected declarations: `struct ice_ptype_attrib_info`, `struct ice_ptype_attributes`, `struct ice_tunnel_type_scan`, `struct ice_tunnel_entry`, `struct ice_tunnel_table`, `struct ice_dvm_entry`, `struct ice_dvm_table`, `struct ice_pkg_es`, `struct ice_es`, `struct ice_ptg_entry`.
- 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.