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.

Dependency Surface

Detected Declarations

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

Implementation Notes