Chapter 2. Network device support

Table of Contents

Driver Support
PHY Support

Driver Support

dev_add_pack - add packet handler
__dev_remove_pack - remove packet handler
dev_remove_pack - remove packet handler
netdev_boot_setup_check - check boot time settings
__dev_get_by_name - find a device by its name
dev_get_by_name_rcu - find a device by its name
dev_get_by_name - find a device by its name
__dev_get_by_index - find a device by its ifindex
dev_get_by_index_rcu - find a device by its ifindex
dev_get_by_index - find a device by its ifindex
dev_getbyhwaddr_rcu - find a device by its hardware address
dev_get_by_flags_rcu - find any device with given flags
dev_valid_name - check if name is okay for network device
dev_alloc_name - allocate a name for a device
netdev_features_change - device changes features
netdev_state_change - device changes state
dev_load - load a network module
dev_open - prepare an interface for use.
dev_close - shutdown an interface.
dev_disable_lro - disable Large Receive Offload on a device
register_netdevice_notifier - register a network notifier block
unregister_netdevice_notifier - unregister a network notifier block
call_netdevice_notifiers - call all network notifier blocks
dev_forward_skb - loopback an skb to another netif
netif_set_real_num_rx_queues - set actual number of RX queues used
netif_device_detach - mark device as removed
netif_device_attach - mark device as attached
skb_gso_segment - Perform segmentation on skb.
dev_queue_xmit - transmit a buffer
rps_may_expire_flow - check whether an RFS hardware filter may be removed
netif_rx - post buffer to the network code
netdev_rx_handler_register - register receive handler
netdev_rx_handler_unregister - unregister receive handler
netif_receive_skb - process receive buffer from network
__napi_schedule - schedule for receive
register_gifconf - register a SIOCGIF handler
netdev_set_master - set up master pointer
netdev_set_bond_master - set up bonding master/slave pair
dev_set_promiscuity - update promiscuity count on a device
dev_set_allmulti - update allmulti count on a device
dev_ethtool_get_settings - call device's ethtool_ops::get_settings
dev_get_flags - get flags reported to userspace
dev_change_flags - change device settings
dev_set_mtu - Change maximum transfer unit
dev_set_group - Change group this device belongs to
dev_set_mac_address - Change Media Access Control Address
netdev_update_features - recalculate device features
netdev_change_features - recalculate device features
netif_stacked_transfer_operstate - transfer operstate
register_netdevice - register a network device
init_dummy_netdev - init a dummy network device for NAPI
register_netdev - register a network device
dev_get_stats - get network device statistics
alloc_netdev_mqs - allocate network device
free_netdev - free network device
synchronize_net - Synchronize with packet receive processing
unregister_netdevice_queue - remove device from the kernel
unregister_netdevice_many - unregister many devices
unregister_netdev - remove device from the kernel
dev_change_net_namespace - move device to different nethost namespace
netdev_increment_features - increment feature set by one
eth_header - create the Ethernet header
eth_rebuild_header - rebuild the Ethernet MAC header.
eth_type_trans - determine the packet's protocol ID.
eth_header_parse - extract hardware address from packet
eth_header_cache - fill cache entry from neighbour
eth_header_cache_update - update cache entry
eth_mac_addr - set new Ethernet hardware address
eth_change_mtu - set new MTU size
ether_setup - setup Ethernet network device
alloc_etherdev_mqs - Allocates and sets up an Ethernet device
netif_carrier_on - set carrier
netif_carrier_off - clear carrier
netif_notify_peers - notify network peers about existence of dev
is_zero_ether_addr - Determine if give Ethernet address is all zeros.
is_multicast_ether_addr - Determine if the Ethernet address is a multicast.
is_local_ether_addr - Determine if the Ethernet address is locally-assigned one (IEEE 802).
is_broadcast_ether_addr - Determine if the Ethernet address is broadcast
is_unicast_ether_addr - Determine if the Ethernet address is unicast
is_valid_ether_addr - Determine if the given Ethernet address is valid
random_ether_addr - Generate software assigned random Ethernet address
eth_hw_addr_random - Generate software assigned random Ethernet and set device flag
compare_ether_addr - Compare two Ethernet addresses
ether_addr_equal - Compare two Ethernet addresses
compare_ether_addr_64bits - Compare two Ethernet addresses
is_etherdev_addr - Tell if given Ethernet address belongs to the device.
compare_ether_header - Compare two Ethernet headers
napi_schedule_prep - check if napi can be scheduled
napi_schedule - schedule NAPI poll
napi_disable - prevent NAPI from scheduling
napi_enable - enable NAPI scheduling
napi_synchronize - wait until NAPI is not running
netdev_priv - access network device private data
netif_start_queue - allow transmit
netif_wake_queue - restart transmit
netif_stop_queue - stop transmitted packets
netif_queue_stopped - test if transmit queue is flowblocked
netif_running - test if up
netif_start_subqueue - allow sending packets on subqueue
netif_stop_subqueue - stop sending packets on subqueue
__netif_subqueue_stopped - test status of subqueue
netif_wake_subqueue - allow sending packets on subqueue
netif_is_multiqueue - test if device has multiple transmit queues
dev_put - release reference to device
dev_hold - get reference to device
netif_carrier_ok - test if carrier present
netif_dormant_on - mark device as dormant.
netif_dormant_off - set device as not dormant.
netif_dormant - test if carrier present
netif_oper_up - test if device is operational
netif_device_present - is device available or removed
netif_tx_lock - grab network device transmit lock