Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
ethtool_ops Struct Reference

#include <ethtool.h>

Data Fields

int(* get_settings )(struct net_device *, struct ethtool_cmd *)
 
int(* set_settings )(struct net_device *, struct ethtool_cmd *)
 
void(* get_drvinfo )(struct net_device *, struct ethtool_drvinfo *)
 
int(* get_regs_len )(struct net_device *)
 
void(* get_regs )(struct net_device *, struct ethtool_regs *, void *)
 
void(* get_wol )(struct net_device *, struct ethtool_wolinfo *)
 
int(* set_wol )(struct net_device *, struct ethtool_wolinfo *)
 
u32(* get_msglevel )(struct net_device *)
 
void(* set_msglevel )(struct net_device *, u32)
 
int(* nway_reset )(struct net_device *)
 
u32(* get_link )(struct net_device *)
 
int(* get_eeprom_len )(struct net_device *)
 
int(* get_eeprom )(struct net_device *, struct ethtool_eeprom *, u8 *)
 
int(* set_eeprom )(struct net_device *, struct ethtool_eeprom *, u8 *)
 
int(* get_coalesce )(struct net_device *, struct ethtool_coalesce *)
 
int(* set_coalesce )(struct net_device *, struct ethtool_coalesce *)
 
void(* get_ringparam )(struct net_device *, struct ethtool_ringparam *)
 
int(* set_ringparam )(struct net_device *, struct ethtool_ringparam *)
 
void(* get_pauseparam )(struct net_device *, struct ethtool_pauseparam *)
 
int(* set_pauseparam )(struct net_device *, struct ethtool_pauseparam *)
 
void(* self_test )(struct net_device *, struct ethtool_test *, u64 *)
 
void(* get_strings )(struct net_device *, u32 stringset, u8 *)
 
int(* set_phys_id )(struct net_device *, enum ethtool_phys_id_state)
 
void(* get_ethtool_stats )(struct net_device *, struct ethtool_stats *, u64 *)
 
int(* begin )(struct net_device *)
 
void(* complete )(struct net_device *)
 
u32(* get_priv_flags )(struct net_device *)
 
int(* set_priv_flags )(struct net_device *, u32)
 
int(* get_sset_count )(struct net_device *, int)
 
int(* get_rxnfc )(struct net_device *, struct ethtool_rxnfc *, u32 *rule_locs)
 
int(* set_rxnfc )(struct net_device *, struct ethtool_rxnfc *)
 
int(* flash_device )(struct net_device *, struct ethtool_flash *)
 
int(* reset )(struct net_device *, u32 *)
 
u32(* get_rxfh_indir_size )(struct net_device *)
 
int(* get_rxfh_indir )(struct net_device *, u32 *)
 
int(* set_rxfh_indir )(struct net_device *, const u32 *)
 
void(* get_channels )(struct net_device *, struct ethtool_channels *)
 
int(* set_channels )(struct net_device *, struct ethtool_channels *)
 
int(* get_dump_flag )(struct net_device *, struct ethtool_dump *)
 
int(* get_dump_data )(struct net_device *, struct ethtool_dump *, void *)
 
int(* set_dump )(struct net_device *, struct ethtool_dump *)
 
int(* get_ts_info )(struct net_device *, struct ethtool_ts_info *)
 
int(* get_module_info )(struct net_device *, struct ethtool_modinfo *)
 
int(* get_module_eeprom )(struct net_device *, struct ethtool_eeprom *, u8 *)
 
int(* get_eee )(struct net_device *, struct ethtool_eee *)
 
int(* set_eee )(struct net_device *, struct ethtool_eee *)
 

Detailed Description

struct ethtool_ops - optional netdev operations : Get various device settings including Ethernet link settings. The parameter is expected to have been cleared before get_settings is called. Returns a negative error code or zero. : Set various device settings including Ethernet link settings. Returns a negative error code or zero. : Report driver/device information. Should only set the ,

Version
, and fields. If not implemented, the and fields will be filled in according to the netdev's parent device. : Get buffer length required for : Get device registers : Report whether Wake-on-Lan is enabled : Turn Wake-on-Lan on or off. Returns a negative error code or zero. : Report driver message level. This should be the value of the field used by netif logging functions. : Set driver message level : Restart autonegotiation. Returns a negative error code or zero. : Report whether physical link is up. Will only be called if the netdev is up. Should usually be set to ethtool_op_get_link(), which uses netif_carrier_ok(). : Read data from the device EEPROM. Should fill in the magic field. Don't need to check len for zero or wraparound. Fill in the data argument with the eeprom values from offset to offset + len. Update len to the amount read. Returns an error or zero. : Write data to the device EEPROM. Should validate the magic field. Don't need to check len for zero or wraparound. Update len to the amount written. Returns an error or zero. : Get interrupt coalescing parameters. Returns a negative error code or zero. : Set interrupt coalescing parameters. Returns a negative error code or zero. : Report ring sizes : Set ring sizes. Returns a negative error code or zero. : Report pause parameters : Set pause parameters. Returns a negative error code or zero. : Run specified self-tests : Return a set of strings that describe the requested objects : Identify the physical devices, e.g. by flashing an LED attached to it. The implementation may update the indicator asynchronously or synchronously, but in either case it must return quickly. It is initially called with the argument ETHTOOL_ID_ACTIVE, and must either activate asynchronous updates and return zero, return a negative error or return a positive frequency for synchronous indication (e.g. 1 for one on/off cycle per second). If it returns a frequency then it will be called again at intervals with the argument ETHTOOL_ID_ON or ETHTOOL_ID_OFF and should set the state of the indicator accordingly. Finally, it is called with the argument ETHTOOL_ID_INACTIVE and must deactivate the indicator. Returns a negative error code or zero. : Return extended statistics about the device. This is only useful if the device maintains statistics not included in &struct rtnl_link_stats64. : Function to be called before any other operation. Returns a negative error code or zero. : Function to be called after any other operation except . Will be called even if the other operation failed. : Report driver-specific feature flags. : Set driver-specific feature flags. Returns a negative error code or zero. : Get number of strings that will write. : Get RX flow classification rules. Returns a negative error code or zero. : Set RX flow classification rules. Returns a negative error code or zero. : Write a firmware image to device's flash memory. Returns a negative error code or zero. : Reset (part of) the device, as specified by a bitmask of flags from &enum ethtool_reset_flags. Returns a negative error code or zero. : Get the size of the RX flow hash indirection table. Returns zero if not supported for this specific device. : Get the contents of the RX flow hash indirection table. Will not be called if returns zero. Returns a negative error code or zero. : Set the contents of the RX flow hash indirection table. Will not be called if returns zero. Returns a negative error code or zero. : Get number of channels. : Set number of channels. Returns a negative error code or zero. : Get dump flag indicating current dump length, version, and flag of the device. : Get dump data. : Set dump specific flags to the device. : Get the time stamping and PTP hardware clock capabilities. Drivers supporting transmit time stamps in software should set this to ethtool_op_get_ts_info(). : Get the size and type of the eeprom contained within a plug-in module. : Get the eeprom information from the plug-in module : Get Energy-Efficient (EEE) supported and status. : Set EEE status (enable/disable) as well as LPI timers.

All operations are optional (i.e. the function pointer may be set to NULL) and callers must take this into account. Callers must hold the RTNL lock.

See the structures used by these operations for further documentation.

See &struct net_device and &struct net_device_ops for documentation of the generic netdev features interface.

Definition at line 190 of file ethtool.h.

Field Documentation

int(* begin)(struct net_device *)

Definition at line 222 of file ethtool.h.

void(* complete)(struct net_device *)

Definition at line 223 of file ethtool.h.

Definition at line 230 of file ethtool.h.

void(* get_channels)(struct net_device *, struct ethtool_channels *)

Definition at line 235 of file ethtool.h.

int(* get_coalesce)(struct net_device *, struct ethtool_coalesce *)

Definition at line 207 of file ethtool.h.

Definition at line 193 of file ethtool.h.

int(* get_dump_data)(struct net_device *, struct ethtool_dump *, void *)

Definition at line 238 of file ethtool.h.

int(* get_dump_flag)(struct net_device *, struct ethtool_dump *)

Definition at line 237 of file ethtool.h.

Definition at line 246 of file ethtool.h.

int(* get_eeprom)(struct net_device *, struct ethtool_eeprom *, u8 *)

Definition at line 203 of file ethtool.h.

int(* get_eeprom_len)(struct net_device *)

Definition at line 202 of file ethtool.h.

void(* get_ethtool_stats)(struct net_device *, struct ethtool_stats *, u64 *)

Definition at line 220 of file ethtool.h.

u32(* get_link)(struct net_device *)

Definition at line 201 of file ethtool.h.

int(* get_module_eeprom)(struct net_device *, struct ethtool_eeprom *, u8 *)

Definition at line 244 of file ethtool.h.

int(* get_module_info)(struct net_device *, struct ethtool_modinfo *)

Definition at line 242 of file ethtool.h.

u32(* get_msglevel)(struct net_device *)

Definition at line 198 of file ethtool.h.

void(* get_pauseparam)(struct net_device *, struct ethtool_pauseparam *)

Definition at line 213 of file ethtool.h.

u32(* get_priv_flags)(struct net_device *)

Definition at line 224 of file ethtool.h.

void(* get_regs)(struct net_device *, struct ethtool_regs *, void *)

Definition at line 195 of file ethtool.h.

int(* get_regs_len)(struct net_device *)

Definition at line 194 of file ethtool.h.

void(* get_ringparam)(struct net_device *, struct ethtool_ringparam *)

Definition at line 209 of file ethtool.h.

int(* get_rxfh_indir)(struct net_device *, u32 *)

Definition at line 233 of file ethtool.h.

u32(* get_rxfh_indir_size)(struct net_device *)

Definition at line 232 of file ethtool.h.

int(* get_rxnfc)(struct net_device *, struct ethtool_rxnfc *, u32 *rule_locs)

Definition at line 227 of file ethtool.h.

int(* get_settings)(struct net_device *, struct ethtool_cmd *)

Definition at line 191 of file ethtool.h.

int(* get_sset_count)(struct net_device *, int)

Definition at line 226 of file ethtool.h.

void(* get_strings)(struct net_device *, u32 stringset, u8 *)

Definition at line 218 of file ethtool.h.

int(* get_ts_info)(struct net_device *, struct ethtool_ts_info *)

Definition at line 241 of file ethtool.h.

Definition at line 196 of file ethtool.h.

int(* nway_reset)(struct net_device *)

Definition at line 200 of file ethtool.h.

int(* reset)(struct net_device *, u32 *)

Definition at line 231 of file ethtool.h.

void(* self_test)(struct net_device *, struct ethtool_test *, u64 *)

Definition at line 217 of file ethtool.h.

int(* set_channels)(struct net_device *, struct ethtool_channels *)

Definition at line 236 of file ethtool.h.

int(* set_coalesce)(struct net_device *, struct ethtool_coalesce *)

Definition at line 208 of file ethtool.h.

Definition at line 240 of file ethtool.h.

Definition at line 247 of file ethtool.h.

int(* set_eeprom)(struct net_device *, struct ethtool_eeprom *, u8 *)

Definition at line 205 of file ethtool.h.

void(* set_msglevel)(struct net_device *, u32)

Definition at line 199 of file ethtool.h.

int(* set_pauseparam)(struct net_device *, struct ethtool_pauseparam *)

Definition at line 215 of file ethtool.h.

int(* set_phys_id)(struct net_device *, enum ethtool_phys_id_state)

Definition at line 219 of file ethtool.h.

int(* set_priv_flags)(struct net_device *, u32)

Definition at line 225 of file ethtool.h.

int(* set_ringparam)(struct net_device *, struct ethtool_ringparam *)

Definition at line 211 of file ethtool.h.

int(* set_rxfh_indir)(struct net_device *, const u32 *)

Definition at line 234 of file ethtool.h.

Definition at line 229 of file ethtool.h.

int(* set_settings)(struct net_device *, struct ethtool_cmd *)

Definition at line 192 of file ethtool.h.

Definition at line 197 of file ethtool.h.


The documentation for this struct was generated from the following file: