drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h
Source file repositories/reference/linux-study-clean/drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h- Extension
.h- Size
- 62355 bytes
- Lines
- 2286
- 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
linux/net/intel/libie/adminq.hlinux/bits.hlinux/types.h
Detected Declarations
struct i40e_aqc_get_versionstruct i40e_aqc_queue_shutdownstruct i40e_aqc_set_pf_contextstruct i40e_aqc_cppm_configurationstruct i40e_aqc_arp_proxy_datastruct i40e_aqc_ns_proxy_datastruct i40e_aqc_mng_laastruct i40e_aqc_mac_address_readstruct i40e_aqc_mac_address_read_datastruct i40e_aqc_mac_address_writestruct i40e_aqc_clear_pxestruct i40e_aqc_set_wol_filterstruct i40e_aqc_set_wol_filter_datastruct i40e_aqc_get_wake_reason_completionstruct i40e_aqc_switch_seidstruct i40e_aqc_get_switch_config_header_respstruct i40e_aqc_switch_config_element_respstruct i40e_aqc_get_switch_config_respstruct i40e_aqc_add_remove_statisticsstruct i40e_aqc_set_port_parametersstruct i40e_aqc_get_switch_resource_allocstruct i40e_aqc_switch_resource_alloc_element_respstruct i40e_aqc_set_switch_configstruct i40e_aqc_rx_ctl_reg_read_writestruct i40e_aqc_add_get_update_vsistruct i40e_aqc_add_get_update_vsi_completionstruct i40e_aqc_vsi_properties_datastruct i40e_aqc_add_update_pvstruct i40e_aqc_add_update_pv_completionstruct i40e_aqc_get_pv_params_completionstruct i40e_aqc_add_vebstruct i40e_aqc_add_veb_completionstruct i40e_aqc_get_veb_parameters_completionstruct i40e_aqc_macvlanstruct i40e_aqc_add_macvlan_element_datastruct i40e_aqc_add_remove_macvlan_completionstruct i40e_aqc_remove_macvlan_element_datastruct i40e_aqc_add_remove_vlan_element_datastruct i40e_aqc_add_remove_vlan_completionstruct i40e_aqc_set_vsi_promiscuous_modesstruct i40e_aqc_add_tagstruct i40e_aqc_add_remove_tag_completionstruct i40e_aqc_remove_tagstruct i40e_aqc_add_remove_mcast_etagstruct i40e_aqc_add_remove_mcast_etag_completionstruct i40e_aqc_update_tagstruct i40e_aqc_update_tag_completionstruct i40e_aqc_add_remove_control_packet_filter
Annotated Snippet
struct i40e_aqc_get_version {
__le32 rom_ver;
__le32 fw_build;
__le16 fw_major;
__le16 fw_minor;
__le16 api_major;
__le16 api_minor;
};
/* Queue Shutdown (direct 0x0003) */
struct i40e_aqc_queue_shutdown {
__le32 driver_unloading;
#define I40E_AQ_DRIVER_UNLOADING 0x1
u8 reserved[12];
};
I40E_CHECK_CMD_LENGTH(i40e_aqc_queue_shutdown);
/* Set PF context (0x0004, direct) */
struct i40e_aqc_set_pf_context {
u8 pf_id;
u8 reserved[15];
};
I40E_CHECK_CMD_LENGTH(i40e_aqc_set_pf_context);
/* Set CPPM Configuration (direct 0x0103) */
struct i40e_aqc_cppm_configuration {
__le16 command_flags;
__le16 ttlx;
__le32 dmacr;
__le16 dmcth;
u8 hptc;
u8 reserved;
__le32 pfltrc;
};
I40E_CHECK_CMD_LENGTH(i40e_aqc_cppm_configuration);
/* Set ARP Proxy command / response (indirect 0x0104) */
struct i40e_aqc_arp_proxy_data {
__le16 command_flags;
__le16 table_id;
__le32 enabled_offloads;
__le32 ip_addr;
u8 mac_addr[6];
u8 reserved[2];
};
I40E_CHECK_STRUCT_LEN(0x14, i40e_aqc_arp_proxy_data);
/* Set NS Proxy Table Entry Command (indirect 0x0105) */
struct i40e_aqc_ns_proxy_data {
__le16 table_idx_mac_addr_0;
__le16 table_idx_mac_addr_1;
__le16 table_idx_ipv6_0;
__le16 table_idx_ipv6_1;
__le16 control;
u8 mac_addr_0[6];
u8 mac_addr_1[6];
u8 local_mac_addr[6];
u8 ipv6_addr_0[16]; /* Warning! spec specifies BE byte order */
u8 ipv6_addr_1[16];
};
I40E_CHECK_STRUCT_LEN(0x3c, i40e_aqc_ns_proxy_data);
/* Manage LAA Command (0x0106) - obsolete */
struct i40e_aqc_mng_laa {
__le16 command_flags;
u8 reserved[2];
__le32 sal;
__le16 sah;
u8 reserved2[6];
};
I40E_CHECK_CMD_LENGTH(i40e_aqc_mng_laa);
/* Manage MAC Address Read Command (indirect 0x0107) */
struct i40e_aqc_mac_address_read {
__le16 command_flags;
#define I40E_AQC_LAN_ADDR_VALID 0x10
#define I40E_AQC_PORT_ADDR_VALID 0x40
u8 reserved[6];
__le32 addr_high;
__le32 addr_low;
};
I40E_CHECK_CMD_LENGTH(i40e_aqc_mac_address_read);
Annotation
- Immediate include surface: `linux/net/intel/libie/adminq.h`, `linux/bits.h`, `linux/types.h`.
- Detected declarations: `struct i40e_aqc_get_version`, `struct i40e_aqc_queue_shutdown`, `struct i40e_aqc_set_pf_context`, `struct i40e_aqc_cppm_configuration`, `struct i40e_aqc_arp_proxy_data`, `struct i40e_aqc_ns_proxy_data`, `struct i40e_aqc_mng_laa`, `struct i40e_aqc_mac_address_read`, `struct i40e_aqc_mac_address_read_data`, `struct i40e_aqc_mac_address_write`.
- 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.