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 |
|||
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:1 |
threaded |
napi_poll(napi_enable,dev_set_threaded) |
||
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] |