net_device struct fast path usage breakdownΒΆ
Type  | 
Name  | 
fastpath_tx_access  | 
fastpath_rx_access  | 
Comments  | 
|---|---|---|---|---|
unsigned_long:32  | 
priv_flags  | 
read_mostly  | 
__dev_queue_xmit(tx)  | 
|
unsigned_long:1  | 
lltx  | 
read_mostly  | 
HARD_TX_LOCK,HARD_TX_TRYLOCK,HARD_TX_UNLOCK(tx)  | 
|
unsigned long:1  | 
netmem_tx:1;  | 
read_mostly  | 
||
char  | 
name[16]  | 
|||
  | 
name_node  | 
|||
  | 
ifalias  | 
|||
unsigned_long  | 
mem_end  | 
|||
unsigned_long  | 
mem_start  | 
|||
unsigned_long  | 
base_addr  | 
|||
unsigned_long  | 
state  | 
read_mostly  | 
read_mostly  | 
netif_running(dev)  | 
  | 
dev_list  | 
|||
  | 
napi_list  | 
|||
  | 
unreg_list  | 
|||
  | 
close_list  | 
|||
  | 
ptype_all  | 
read_mostly  | 
dev_nit_active(tx)  | 
|
  | 
ptype_specific  | 
read_mostly  | 
deliver_ptype_list_skb/__netif_receive_skb_core(rx)  | 
|
struct  | 
adj_list  | 
|||
unsigned_int  | 
flags  | 
read_mostly  | 
read_mostly  | 
__dev_queue_xmit,__dev_xmit_skb,ip6_output,__ip6_finish_output(tx);ip6_rcv_core(rx)  | 
xdp_features_t  | 
xdp_features  | 
|||
  | 
netdev_ops  | 
read_mostly  | 
netdev_core_pick_tx,netdev_start_xmit(tx)  | 
|
  | 
xdp_metadata_ops  | 
|||
int  | 
ifindex  | 
read_mostly  | 
ip6_rcv_core  | 
|
unsigned_short  | 
gflags  | 
|||
unsigned_short  | 
hard_header_len  | 
read_mostly  | 
read_mostly  | 
ip6_xmit(tx);gro_list_prepare(rx)  | 
unsigned_int  | 
mtu  | 
read_mostly  | 
ip_finish_output2  | 
|
unsigned_short  | 
needed_headroom  | 
read_mostly  | 
LL_RESERVED_SPACE/ip_finish_output2  | 
|
unsigned_short  | 
needed_tailroom  | 
|||
netdev_features_t  | 
features  | 
read_mostly  | 
read_mostly  | 
HARD_TX_LOCK,netif_skb_features,sk_setup_caps(tx);netif_elide_gro(rx)  | 
netdev_features_t  | 
hw_features  | 
|||
netdev_features_t  | 
wanted_features  | 
|||
netdev_features_t  | 
vlan_features  | 
|||
netdev_features_t  | 
hw_enc_features  | 
netif_skb_features  | 
||
netdev_features_t  | 
mpls_features  | 
|||
netdev_features_t  | 
gso_partial_features  | 
read_mostly  | 
gso_features_check  | 
|
unsigned_int  | 
min_mtu  | 
|||
unsigned_int  | 
max_mtu  | 
|||
unsigned_short  | 
type  | 
|||
unsigned_char  | 
min_header_len  | 
|||
unsigned_char  | 
name_assign_type  | 
|||
int  | 
group  | 
|||
  | 
stats  | 
|||
  | 
core_stats  | 
|||
atomic_t  | 
carrier_up_count  | 
|||
atomic_t  | 
carrier_down_count  | 
|||
  | 
wireless_handlers  | 
|||
  | 
ethtool_ops  | 
|||
  | 
l3mdev_ops  | 
|||
  | 
ndisc_ops  | 
|||
  | 
xfrmdev_ops  | 
|||
  | 
tlsdev_ops  | 
|||
  | 
header_ops  | 
read_mostly  | 
ip_finish_output2,ip6_finish_output2(tx)  | 
|
unsigned_char  | 
operstate  | 
|||
unsigned_char  | 
link_mode  | 
|||
unsigned_char  | 
if_port  | 
|||
unsigned_char  | 
dma  | 
|||
unsigned_char  | 
perm_addr[32]  | 
|||
unsigned_char  | 
addr_assign_type  | 
|||
unsigned_char  | 
addr_len  | 
|||
unsigned_char  | 
upper_level  | 
|||
unsigned_char  | 
lower_level  | 
|||
u8  | 
threaded  | 
napi_poll(napi_enable,netif_set_threaded)  | 
||
unsigned_short  | 
neigh_priv_len  | 
|||
unsigned_short  | 
padded  | 
|||
unsigned_short  | 
dev_id  | 
|||
unsigned_short  | 
dev_port  | 
|||
spinlock_t  | 
addr_list_lock  | 
|||
int  | 
irq  | 
|||
  | 
uc  | 
|||
  | 
mc  | 
|||
  | 
dev_addrs  | 
|||
  | 
queues_kset  | 
|||
  | 
unlink_list  | 
|||
unsigned_int  | 
promiscuity  | 
|||
unsigned_int  | 
allmulti  | 
|||
bool  | 
uc_promisc  | 
|||
unsigned_char  | 
nested_level  | 
|||
  | 
ip_ptr  | 
read_mostly  | 
read_mostly  | 
__in_dev_get  | 
  | 
fib_nh_head  | 
|||
  | 
ip6_ptr  | 
read_mostly  | 
read_mostly  | 
__in6_dev_get  | 
  | 
vlan_info  | 
|||
  | 
dsa_ptr  | 
|||
tipc_ptr  | 
||||
void*  | 
atalk_ptr  | 
|||
void*  | 
ax25_ptr  | 
|||
ieee80211_ptr  | 
||||
  | 
ieee802154_ptr  | 
|||
  | 
mpls_ptr  | 
|||
  | 
mctp_ptr  | 
|||
unsigned_char*  | 
dev_addr  | 
|||
  | 
_rx  | 
read_mostly  | 
netdev_get_rx_queue(rx)  | 
|
unsigned_int  | 
num_rx_queues  | 
|||
unsigned_int  | 
real_num_rx_queues  | 
read_mostly  | 
get_rps_cpu  | 
|
  | 
xdp_prog  | 
read_mostly  | 
  | 
|
unsigned_long  | 
gro_flush_timeout  | 
read_mostly  | 
napi_complete_done  | 
|
u32  | 
napi_defer_hard_irqs  | 
read_mostly  | 
napi_complete_done  | 
|
unsigned_int  | 
gro_max_size  | 
read_mostly  | 
skb_gro_receive  | 
|
unsigned_int  | 
gro_ipv4_max_size  | 
read_mostly  | 
skb_gro_receive  | 
|
rx_handler_func_t*  | 
rx_handler  | 
read_mostly  | 
__netif_receive_skb_core  | 
|
void*  | 
rx_handler_data  | 
read_mostly  | 
||
  | 
ingress_queue  | 
read_mostly  | 
||
  | 
tcx_ingress  | 
read_mostly  | 
sch_handle_ingress  | 
|
  | 
nf_hooks_ingress  | 
|||
unsigned_char  | 
broadcast[32]  | 
|||
  | 
rx_cpu_rmap  | 
|||
  | 
index_hlist  | 
|||
  | 
_tx  | 
read_mostly  | 
netdev_get_tx_queue(tx)  | 
|
unsigned_int  | 
num_tx_queues  | 
|||
unsigned_int  | 
real_num_tx_queues  | 
read_mostly  | 
skb_tx_hash,netdev_core_pick_tx(tx)  | 
|
unsigned_int  | 
tx_queue_len  | 
|||
spinlock_t  | 
tx_global_lock  | 
|||
  | 
xdp_bulkq  | 
|||
  | 
xps_maps[2]  | 
read_mostly  | 
__netif_set_xps_queue  | 
|
  | 
tcx_egress  | 
read_mostly  | 
sch_handle_egress  | 
|
  | 
nf_hooks_egress  | 
read_mostly  | 
||
  | 
qdisc_hash[16]  | 
|||
  | 
watchdog_timer  | 
|||
int  | 
watchdog_timeo  | 
|||
u32  | 
proto_down_reason  | 
|||
  | 
todo_list  | 
|||
int__percpu*  | 
pcpu_refcnt  | 
|||
refcount_t  | 
dev_refcnt  | 
|||
  | 
refcnt_tracker  | 
|||
  | 
link_watch_list  | 
|||
enum:8  | 
reg_state  | 
|||
bool  | 
dismantle  | 
|||
bool  | 
rtnl_link_initilizing  | 
|||
bool  | 
needs_free_netdev  | 
|||
void*priv_destructor  | 
||||
  | 
npinfo  | 
read_mostly  | 
napi_poll/napi_poll_lock  | 
|
possible_net_t  | 
nd_net  | 
read_mostly  | 
(dev_net)napi_busy_loop,tcp_v(4/6)_rcv,ip(v6)_rcv,ip(6)_input,ip(6)_input_finish  | 
|
void*  | 
ml_priv  | 
|||
enum_netdev_ml_priv_type  | 
ml_priv_type  | 
|||
  | 
lstats  | 
read_mostly  | 
  | 
|
  | 
tstats  | 
read_mostly  | 
  | 
|
  | 
dstats  | 
|||
  | 
garp_port  | 
|||
  | 
mrp_port  | 
|||
  | 
dm_private  | 
|||
dev  | 
||||
  | 
sysfs_groups[4]  | 
|||
  | 
sysfs_rx_queue_group  | 
|||
  | 
rtnl_link_ops  | 
|||
unsigned_int  | 
gso_max_size  | 
read_mostly  | 
sk_dst_gso_max_size  | 
|
unsigned_int  | 
tso_max_size  | 
|||
u16  | 
gso_max_segs  | 
read_mostly  | 
gso_max_segs  | 
|
u16  | 
tso_max_segs  | 
|||
unsigned_int  | 
gso_ipv4_max_size  | 
read_mostly  | 
sk_dst_gso_max_size  | 
|
  | 
dcbnl_ops  | 
|||
s16  | 
num_tc  | 
read_mostly  | 
skb_tx_hash  | 
|
  | 
tc_to_txq[16]  | 
read_mostly  | 
skb_tx_hash  | 
|
u8  | 
prio_tc_map[16]  | 
|||
unsigned_int  | 
fcoe_ddp_xid  | 
|||
  | 
priomap  | 
|||
phydev  | 
||||
sfp_bus  | 
||||
  | 
qdisc_tx_busylock  | 
|||
bool  | 
proto_down  | 
|||
unsigned:1  | 
wol_enabled  | 
|||
unsigned_long:1  | 
see_all_hwtstamp_requests  | 
|||
unsigned_long:1  | 
change_proto_down  | 
|||
unsigned_long:1  | 
netns_immutable  | 
|||
unsigned_long:1  | 
fcoe_mtu  | 
|||
  | 
net_notifier_list  | 
|||
  | 
macsec_ops  | 
|||
  | 
udp_tunnel_nic_info  | 
|||
  | 
udp_tunnel_nic  | 
|||
unsigned_int  | 
xdp_zc_max_segs  | 
|||
  | 
xdp_state[3]  | 
|||
u8  | 
dev_addr_shadow[32]  | 
|||
netdevice_tracker  | 
linkwatch_dev_tracker  | 
|||
netdevice_tracker  | 
watchdog_dev_tracker  | 
|||
netdevice_tracker  | 
dev_registered_tracker  | 
|||
  | 
offload_xstats_l3  | 
|||
  | 
devlink_port  | 
|||
  | 
dpll_pin  | 
|||
  | 
page_pools  | 
|||
irq_moder  | 
||||
u64  | 
max_pacing_offload_horizon  | 
|||
struct_napi_config*  | 
napi_config  | 
|||
unsigned_long  | 
gro_flush_timeout  | 
|||
u32  | 
napi_defer_hard_irqs  | 
|||
  | 
neighbours[2]  |