include/linux/qed/qed_eth_if.h
Source file repositories/reference/linux-study-clean/include/linux/qed/qed_eth_if.h
File Facts
- System
- Linux kernel
- Corpus path
include/linux/qed/qed_eth_if.h- Extension
.h- Size
- 9359 bytes
- Lines
- 341
- 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.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/list.hlinux/if_link.hlinux/qed/eth_common.hlinux/qed/qed_if.hlinux/qed/qed_iov_if.h
Detected Declarations
struct qed_queue_start_common_paramsstruct qed_rxq_start_ret_paramsstruct qed_txq_start_ret_paramsstruct qed_ntuple_filter_paramsstruct qed_dev_eth_infostruct qed_update_vport_rss_paramsstruct qed_update_vport_paramsstruct qed_start_vport_paramsstruct qed_filter_ucast_paramsstruct qed_filter_mcast_paramsstruct qed_tunn_paramsstruct qed_eth_cb_opsstruct qed_eth_dcbnl_opsstruct qed_eth_ptp_opsstruct qed_eth_opsenum qed_filter_config_modeenum qed_filter_rx_mode_typeenum qed_filter_xcast_params_typeenum qed_filter_typeenum qed_ptp_filter_typeenum qed_ptp_hwtstamp_tx_type
Annotated Snippet
struct qed_queue_start_common_params {
/* Should always be relative to entity sending this. */
u8 vport_id;
u16 queue_id;
/* Relative, but relevant only for PFs */
u8 stats_id;
struct qed_sb_info *p_sb;
u8 sb_idx;
u8 tc;
};
struct qed_rxq_start_ret_params {
void __iomem *p_prod;
void *p_handle;
};
struct qed_txq_start_ret_params {
void __iomem *p_doorbell;
void *p_handle;
};
enum qed_filter_config_mode {
QED_FILTER_CONFIG_MODE_DISABLE,
QED_FILTER_CONFIG_MODE_5_TUPLE,
QED_FILTER_CONFIG_MODE_L4_PORT,
QED_FILTER_CONFIG_MODE_IP_DEST,
QED_FILTER_CONFIG_MODE_IP_SRC,
};
struct qed_ntuple_filter_params {
/* Physically mapped address containing header of buffer to be used
* as filter.
*/
dma_addr_t addr;
/* Length of header in bytes */
u16 length;
/* Relative queue-id to receive classified packet */
#define QED_RFS_NTUPLE_QID_RSS ((u16)-1)
u16 qid;
/* Identifier can either be according to vport-id or vfid */
bool b_is_vf;
u8 vport_id;
u8 vf_id;
/* true iff this filter is to be added. Else to be removed */
bool b_is_add;
/* If flow needs to be dropped */
bool b_is_drop;
};
struct qed_dev_eth_info {
struct qed_dev_info common;
u8 num_queues;
u8 num_tc;
u8 port_mac[ETH_ALEN];
u16 num_vlan_filters;
u16 num_mac_filters;
/* Legacy VF - this affects the datapath, so qede has to know */
bool is_legacy;
/* Might depend on available resources [in case of VF] */
bool xdp_supported;
};
struct qed_update_vport_rss_params {
void *rss_ind_table[128];
u32 rss_key[10];
u8 rss_caps;
};
struct qed_update_vport_params {
u8 vport_id;
u8 update_vport_active_flg;
u8 vport_active_flg;
u8 update_tx_switching_flg;
u8 tx_switching_flg;
u8 update_accept_any_vlan_flg;
u8 accept_any_vlan;
u8 update_rss_flg;
struct qed_update_vport_rss_params rss_params;
Annotation
- Immediate include surface: `linux/list.h`, `linux/if_link.h`, `linux/qed/eth_common.h`, `linux/qed/qed_if.h`, `linux/qed/qed_iov_if.h`.
- Detected declarations: `struct qed_queue_start_common_params`, `struct qed_rxq_start_ret_params`, `struct qed_txq_start_ret_params`, `struct qed_ntuple_filter_params`, `struct qed_dev_eth_info`, `struct qed_update_vport_rss_params`, `struct qed_update_vport_params`, `struct qed_start_vport_params`, `struct qed_filter_ucast_params`, `struct qed_filter_mcast_params`.
- Atlas domain: Core OS / Core Kernel Interface.
- 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.