net/ncsi/internal.h
Source file repositories/reference/linux-study-clean/net/ncsi/internal.h
File Facts
- System
- Linux kernel
- Corpus path
net/ncsi/internal.h- Extension
.h- Size
- 17480 bytes
- Lines
- 418
- 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
- No C-style include directives detected by the generator.
Detected Declarations
struct ncsi_channel_versionstruct ncsi_channel_capstruct ncsi_channel_modestruct ncsi_channel_mac_filterstruct ncsi_channel_vlan_filterstruct ncsi_channel_statsstruct ncsi_dev_privstruct ncsi_packagestruct ncsi_channelstruct ncsi_packagestruct ncsi_requeststruct vlan_vidstruct ncsi_dev_privstruct ncsi_cmd_arg
Annotated Snippet
struct ncsi_channel_version {
u8 major; /* NCSI version major */
u8 minor; /* NCSI version minor */
u8 update; /* NCSI version update */
char alpha1; /* NCSI version alpha1 */
char alpha2; /* NCSI version alpha2 */
u8 fw_name[12 + 1]; /* Firmware name string */
u32 fw_version; /* Firmware version */
u16 pci_ids[4]; /* PCI identification */
u32 mf_id; /* Manufacture ID */
};
struct ncsi_channel_cap {
u32 index; /* Index of channel capabilities */
u32 cap; /* NCSI channel capability */
};
struct ncsi_channel_mode {
u32 index; /* Index of channel modes */
u32 enable; /* Enabled or disabled */
u32 size; /* Valid entries in ncm_data[] */
u32 data[8]; /* Data entries */
};
struct ncsi_channel_mac_filter {
u8 n_uc;
u8 n_mc;
u8 n_mixed;
u64 bitmap;
unsigned char *addrs;
};
struct ncsi_channel_vlan_filter {
u8 n_vids;
u64 bitmap;
u16 *vids;
};
struct ncsi_channel_stats {
u64 hnc_cnt; /* Counter cleared */
u64 hnc_rx_bytes; /* Rx bytes */
u64 hnc_tx_bytes; /* Tx bytes */
u64 hnc_rx_uc_pkts; /* Rx UC packets */
u64 hnc_rx_mc_pkts; /* Rx MC packets */
u64 hnc_rx_bc_pkts; /* Rx BC packets */
u64 hnc_tx_uc_pkts; /* Tx UC packets */
u64 hnc_tx_mc_pkts; /* Tx MC packets */
u64 hnc_tx_bc_pkts; /* Tx BC packets */
u32 hnc_fcs_err; /* FCS errors */
u32 hnc_align_err; /* Alignment errors */
u32 hnc_false_carrier; /* False carrier detection */
u32 hnc_runt_pkts; /* Rx runt packets */
u32 hnc_jabber_pkts; /* Rx jabber packets */
u32 hnc_rx_pause_xon; /* Rx pause XON frames */
u32 hnc_rx_pause_xoff; /* Rx XOFF frames */
u32 hnc_tx_pause_xon; /* Tx XON frames */
u32 hnc_tx_pause_xoff; /* Tx XOFF frames */
u32 hnc_tx_s_collision; /* Single collision frames */
u32 hnc_tx_m_collision; /* Multiple collision frames */
u32 hnc_l_collision; /* Late collision frames */
u32 hnc_e_collision; /* Excessive collision frames */
u32 hnc_rx_ctl_frames; /* Rx control frames */
u32 hnc_rx_64_frames; /* Rx 64-bytes frames */
u32 hnc_rx_127_frames; /* Rx 65-127 bytes frames */
u32 hnc_rx_255_frames; /* Rx 128-255 bytes frames */
u32 hnc_rx_511_frames; /* Rx 256-511 bytes frames */
u32 hnc_rx_1023_frames; /* Rx 512-1023 bytes frames */
u32 hnc_rx_1522_frames; /* Rx 1024-1522 bytes frames */
u32 hnc_rx_9022_frames; /* Rx 1523-9022 bytes frames */
u32 hnc_tx_64_frames; /* Tx 64-bytes frames */
u32 hnc_tx_127_frames; /* Tx 65-127 bytes frames */
u32 hnc_tx_255_frames; /* Tx 128-255 bytes frames */
u32 hnc_tx_511_frames; /* Tx 256-511 bytes frames */
u32 hnc_tx_1023_frames; /* Tx 512-1023 bytes frames */
u32 hnc_tx_1522_frames; /* Tx 1024-1522 bytes frames */
u32 hnc_tx_9022_frames; /* Tx 1523-9022 bytes frames */
u64 hnc_rx_valid_bytes; /* Rx valid bytes */
u32 hnc_rx_runt_pkts; /* Rx error runt packets */
u32 hnc_rx_jabber_pkts; /* Rx error jabber packets */
u32 ncsi_rx_cmds; /* Rx NCSI commands */
u32 ncsi_dropped_cmds; /* Dropped commands */
u32 ncsi_cmd_type_errs; /* Command type errors */
u32 ncsi_cmd_csum_errs; /* Command checksum errors */
u32 ncsi_rx_pkts; /* Rx NCSI packets */
u32 ncsi_tx_pkts; /* Tx NCSI packets */
u32 ncsi_tx_aen_pkts; /* Tx AEN packets */
u32 pt_tx_pkts; /* Tx packets */
u32 pt_tx_dropped; /* Tx dropped packets */
u32 pt_tx_channel_err; /* Tx channel errors */
u32 pt_tx_us_err; /* Tx undersize errors */
Annotation
- Detected declarations: `struct ncsi_channel_version`, `struct ncsi_channel_cap`, `struct ncsi_channel_mode`, `struct ncsi_channel_mac_filter`, `struct ncsi_channel_vlan_filter`, `struct ncsi_channel_stats`, `struct ncsi_dev_priv`, `struct ncsi_package`, `struct ncsi_channel`, `struct ncsi_package`.
- 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.