include/linux/mlx5/mlx5_ifc.h
Source file repositories/reference/linux-study-clean/include/linux/mlx5/mlx5_ifc.h
File Facts
- System
- Linux kernel
- Corpus path
include/linux/mlx5/mlx5_ifc.h- Extension
.h- Size
- 333421 bytes
- Lines
- 13768
- Domain
- Core OS
- Bucket
- Core Kernel Interface
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Uses kernel synchronization; read lock ordering, sleepability, and interrupt context assumptions before translating.
- Touches IRQ or DMA behavior; this matters for the representative real-device path.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
mlx5_ifc_fpga.h
Detected Declarations
struct mlx5_ifc_flow_table_fields_supported_bitsstruct mlx5_ifc_flow_table_fields_supported_2_bitsstruct mlx5_ifc_flow_table_prop_layout_bitsstruct mlx5_ifc_odp_per_transport_service_cap_bitsstruct mlx5_ifc_ipv4_layout_bitsstruct mlx5_ifc_ipv6_layout_bitsstruct mlx5_ifc_ipv6_simple_layout_bitsstruct mlx5_ifc_fte_match_set_lyr_2_4_bitsstruct mlx5_ifc_nvgre_key_bitsstruct mlx5_ifc_fte_match_set_misc_bitsstruct mlx5_ifc_fte_match_mpls_bitsstruct mlx5_ifc_fte_match_set_misc2_bitsstruct mlx5_ifc_fte_match_set_misc3_bitsstruct mlx5_ifc_fte_match_set_misc4_bitsstruct mlx5_ifc_fte_match_set_misc5_bitsstruct mlx5_ifc_cmd_pas_bitsstruct mlx5_ifc_uint64_bitsstruct mlx5_ifc_ads_bitsstruct mlx5_ifc_flow_table_nic_cap_bitsstruct mlx5_ifc_port_selection_cap_bitsstruct mlx5_ifc_flow_table_eswitch_cap_bitsstruct mlx5_ifc_wqe_based_flow_table_cap_bitsstruct mlx5_ifc_esw_cap_bitsstruct mlx5_ifc_e_switch_cap_bitsstruct mlx5_ifc_qos_cap_bitsstruct mlx5_ifc_debug_cap_bitsstruct mlx5_ifc_per_protocol_networking_offload_caps_bitsstruct mlx5_ifc_roce_cap_bitsstruct mlx5_ifc_sync_steering_in_bitsstruct mlx5_ifc_sync_steering_out_bitsstruct mlx5_ifc_sync_crypto_in_bitsstruct mlx5_ifc_sync_crypto_out_bitsstruct mlx5_ifc_device_mem_cap_bitsstruct mlx5_ifc_device_event_cap_bitsstruct mlx5_ifc_virtio_emulation_cap_bitsstruct mlx5_ifc_tlp_dev_emu_capabilities_bitsstruct mlx5_ifc_atomic_caps_bitsstruct mlx5_ifc_odp_scheme_cap_bitsstruct mlx5_ifc_odp_cap_bitsstruct mlx5_ifc_tls_cap_bitsstruct mlx5_ifc_ipsec_cap_bitsstruct mlx5_ifc_macsec_cap_bitsstruct mlx5_ifc_psp_cap_bitsstruct mlx5_ifc_cmd_hca_cap_bitsstruct mlx5_ifc_cmd_hca_cap_2_bitsstruct mlx5_ifc_dest_format_struct_bitsstruct mlx5_ifc_flow_counter_list_bitsstruct mlx5_ifc_extended_dest_format_bits
Annotated Snippet
struct mlx5_ifc_flow_table_fields_supported_bits {
u8 outer_dmac[0x1];
u8 outer_smac[0x1];
u8 outer_ether_type[0x1];
u8 outer_ip_version[0x1];
u8 outer_first_prio[0x1];
u8 outer_first_cfi[0x1];
u8 outer_first_vid[0x1];
u8 outer_ipv4_ttl[0x1];
u8 outer_second_prio[0x1];
u8 outer_second_cfi[0x1];
u8 outer_second_vid[0x1];
u8 reserved_at_b[0x1];
u8 outer_sip[0x1];
u8 outer_dip[0x1];
u8 outer_frag[0x1];
u8 outer_ip_protocol[0x1];
u8 outer_ip_ecn[0x1];
u8 outer_ip_dscp[0x1];
u8 outer_udp_sport[0x1];
u8 outer_udp_dport[0x1];
u8 outer_tcp_sport[0x1];
u8 outer_tcp_dport[0x1];
u8 outer_tcp_flags[0x1];
u8 outer_gre_protocol[0x1];
u8 outer_gre_key[0x1];
u8 outer_vxlan_vni[0x1];
u8 outer_geneve_vni[0x1];
u8 outer_geneve_oam[0x1];
u8 outer_geneve_protocol_type[0x1];
u8 outer_geneve_opt_len[0x1];
u8 source_vhca_port[0x1];
u8 source_eswitch_port[0x1];
u8 inner_dmac[0x1];
u8 inner_smac[0x1];
u8 inner_ether_type[0x1];
u8 inner_ip_version[0x1];
u8 inner_first_prio[0x1];
u8 inner_first_cfi[0x1];
u8 inner_first_vid[0x1];
u8 reserved_at_27[0x1];
u8 inner_second_prio[0x1];
u8 inner_second_cfi[0x1];
u8 inner_second_vid[0x1];
u8 reserved_at_2b[0x1];
u8 inner_sip[0x1];
u8 inner_dip[0x1];
u8 inner_frag[0x1];
u8 inner_ip_protocol[0x1];
u8 inner_ip_ecn[0x1];
u8 inner_ip_dscp[0x1];
u8 inner_udp_sport[0x1];
u8 inner_udp_dport[0x1];
u8 inner_tcp_sport[0x1];
u8 inner_tcp_dport[0x1];
u8 inner_tcp_flags[0x1];
u8 reserved_at_37[0x9];
u8 geneve_tlv_option_0_data[0x1];
u8 geneve_tlv_option_0_exist[0x1];
u8 reserved_at_42[0x3];
u8 outer_first_mpls_over_udp[0x4];
u8 outer_first_mpls_over_gre[0x4];
u8 inner_first_mpls[0x4];
u8 outer_first_mpls[0x4];
u8 reserved_at_55[0x2];
u8 outer_esp_spi[0x1];
u8 reserved_at_58[0x2];
u8 bth_dst_qp[0x1];
u8 reserved_at_5b[0x5];
u8 reserved_at_60[0x18];
u8 metadata_reg_c_7[0x1];
u8 metadata_reg_c_6[0x1];
u8 metadata_reg_c_5[0x1];
u8 metadata_reg_c_4[0x1];
u8 metadata_reg_c_3[0x1];
u8 metadata_reg_c_2[0x1];
u8 metadata_reg_c_1[0x1];
u8 metadata_reg_c_0[0x1];
};
/* Table 2170 - Flow Table Fields Supported 2 Format */
struct mlx5_ifc_flow_table_fields_supported_2_bits {
u8 inner_l4_type_ext[0x1];
u8 outer_l4_type_ext[0x1];
u8 inner_l4_type[0x1];
u8 outer_l4_type[0x1];
u8 reserved_at_4[0xa];
Annotation
- Immediate include surface: `mlx5_ifc_fpga.h`.
- Detected declarations: `struct mlx5_ifc_flow_table_fields_supported_bits`, `struct mlx5_ifc_flow_table_fields_supported_2_bits`, `struct mlx5_ifc_flow_table_prop_layout_bits`, `struct mlx5_ifc_odp_per_transport_service_cap_bits`, `struct mlx5_ifc_ipv4_layout_bits`, `struct mlx5_ifc_ipv6_layout_bits`, `struct mlx5_ifc_ipv6_simple_layout_bits`, `struct mlx5_ifc_fte_match_set_lyr_2_4_bits`, `struct mlx5_ifc_nvgre_key_bits`, `struct mlx5_ifc_fte_match_set_misc_bits`.
- Atlas domain: Core OS / Core Kernel Interface.
- Implementation status: source implementation candidate.
- Synchronization appears in or near this file; preserve lock ordering, sleepability, and interrupt-context constraints.
- IRQ or DMA behavior appears here, which is relevant to the selected PCIe/NVMe device path.
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.