Chapter 2. Network device support

Table of Contents

Driver Support
PHY Support
Synchronous PPP

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 — find a device by its name
__dev_get_by_index — find a device by its ifindex
dev_get_by_index — find a device by its ifindex
dev_getbyhwaddr — find a device by its hardware address
dev_get_by_flags — 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.
register_netdevice_notifier — register a network notifier block
unregister_netdevice_notifier — unregister a network notifier block
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
netif_rx — post buffer to the network code
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/slave pair
dev_set_promiscuity — update promiscuity count on a device
dev_set_allmulti — update allmulti count on a device
dev_unicast_delete — Release secondary unicast address.
dev_unicast_add — add a secondary unicast address
dev_unicast_sync — Synchronize device's unicast list to another device
dev_unicast_unsync — Remove synchronized addresses from the destination device
register_netdevice — register a network device
register_netdev — register a network device
alloc_netdev_mq — allocate network device
free_netdev — free network device
unregister_netdevice — remove device from the kernel
unregister_netdev — remove device from the kernel
netdev_compute_features — compute conjunction of two feature sets
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
ether_setup — setup Ethernet network device
alloc_etherdev_mq — Allocates and sets up an Ethernet device
netif_carrier_on — set carrier
netif_carrier_off — clear carrier
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_valid_ether_addr — Determine if the given Ethernet address is valid
random_ether_addr — Generate software assigned random Ethernet address
compare_ether_addr — Compare two Ethernet addresses
napi_schedule_prep — check if napi can be scheduled
napi_schedule — schedule NAPI poll
__napi_complete — NAPI processing complete
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_napi_add — initialize a napi context
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