net/ethtool/module_fw.h
Source file repositories/reference/linux-study-clean/net/ethtool/module_fw.h
File Facts
- System
- Linux kernel
- Corpus path
net/ethtool/module_fw.h- Extension
.h- Size
- 2370 bytes
- Lines
- 76
- Domain
- Networking Core
- Bucket
- Sockets, Protocols, Packet Path, And Network Policy
- Inferred role
- Networking Core: implementation source
- Status
- source implementation candidate
Why This File Exists
Networking stack implementation surface: socket APIs, protocol dispatch, packet flow, routing, filtering, and network namespaces.
- Networking stack implementation surface: socket APIs, protocol dispatch, packet flow, routing, filtering, and network namespaces.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
uapi/linux/ethtool.hnetlink.h
Detected Declarations
struct ethnl_module_fw_flash_ntf_paramsstruct ethtool_module_fw_flash_paramsstruct ethtool_cmis_fw_update_paramsstruct ethtool_module_fw_flash
Annotated Snippet
struct ethnl_module_fw_flash_ntf_params {
u32 portid;
u32 seq;
bool closed_sock;
};
/**
* struct ethtool_module_fw_flash_params - module firmware flashing parameters
* @password: Module password. Only valid when @pass_valid is set.
* @password_valid: Whether the module password is valid or not.
*/
struct ethtool_module_fw_flash_params {
__be32 password;
u8 password_valid:1;
};
/**
* struct ethtool_cmis_fw_update_params - CMIS firmware update specific
* parameters
* @dev: Pointer to the net_device to be flashed.
* @params: Module firmware flashing parameters.
* @ntf_params: Module firmware flashing notification parameters.
* @fw: Firmware to flash.
*/
struct ethtool_cmis_fw_update_params {
struct net_device *dev;
struct ethtool_module_fw_flash_params params;
struct ethnl_module_fw_flash_ntf_params ntf_params;
const struct firmware *fw;
};
/**
* struct ethtool_module_fw_flash - module firmware flashing
* @list: List node for &module_fw_flash_work_list.
* @dev_tracker: Refcount tracker for @dev.
* @work: The flashing firmware work.
* @fw_update: CMIS firmware update specific parameters.
*/
struct ethtool_module_fw_flash {
struct list_head list;
netdevice_tracker dev_tracker;
struct work_struct work;
struct ethtool_cmis_fw_update_params fw_update;
};
void ethnl_module_fw_flash_sock_destroy(struct ethnl_sock_priv *sk_priv);
void
ethnl_module_fw_flash_ntf_err(struct net_device *dev,
struct ethnl_module_fw_flash_ntf_params *params,
char *err_msg, char *sub_err_msg);
void
ethnl_module_fw_flash_ntf_start(struct net_device *dev,
struct ethnl_module_fw_flash_ntf_params *params);
void
ethnl_module_fw_flash_ntf_complete(struct net_device *dev,
struct ethnl_module_fw_flash_ntf_params *params);
void
ethnl_module_fw_flash_ntf_in_progress(struct net_device *dev,
struct ethnl_module_fw_flash_ntf_params *params,
u64 done, u64 total);
void ethtool_cmis_fw_update(struct ethtool_cmis_fw_update_params *params);
Annotation
- Immediate include surface: `uapi/linux/ethtool.h`, `netlink.h`.
- Detected declarations: `struct ethnl_module_fw_flash_ntf_params`, `struct ethtool_module_fw_flash_params`, `struct ethtool_cmis_fw_update_params`, `struct ethtool_module_fw_flash`.
- Atlas domain: Networking Core / Sockets, Protocols, Packet Path, And Network Policy.
- 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.