Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- struct net_device {
- char name[16]; /* 0 16 */
- struct hlist_node name_hlist; /* 16 8 */
- struct dev_ifalias * ifalias; /* 24 4 */
- long unsigned int mem_end; /* 28 4 */
- long unsigned int mem_start; /* 32 4 */
- long unsigned int base_addr; /* 36 4 */
- int irq; /* 40 4 */
- long unsigned int state; /* 44 4 */
- struct list_head dev_list; /* 48 8 */
- struct list_head napi_list; /* 56 8 */
- /* --- cacheline 1 boundary (64 bytes) --- */
- struct list_head unreg_list; /* 64 8 */
- struct list_head close_list; /* 72 8 */
- struct list_head ptype_all; /* 80 8 */
- struct list_head ptype_specific; /* 88 8 */
- struct {
- struct list_head upper; /* 96 8 */
- struct list_head lower; /* 104 8 */
- } adj_list; /* 96 16 */
- netdev_features_t features; /* 112 8 */
- netdev_features_t hw_features; /* 120 8 */
- /* --- cacheline 2 boundary (128 bytes) --- */
- netdev_features_t wanted_features; /* 128 8 */
- netdev_features_t vlan_features; /* 136 8 */
- netdev_features_t hw_enc_features; /* 144 8 */
- netdev_features_t mpls_features; /* 152 8 */
- netdev_features_t gso_partial_features; /* 160 8 */
- int ifindex; /* 168 4 */
- int group; /* 172 4 */
- struct net_device_stats stats; /* 176 92 */
- /* --- cacheline 4 boundary (256 bytes) was 12 bytes ago --- */
- atomic_long_t rx_dropped; /* 268 4 */
- atomic_long_t tx_dropped; /* 272 4 */
- atomic_long_t rx_nohandler; /* 276 4 */
- atomic_t carrier_up_count; /* 280 4 */
- atomic_t carrier_down_count; /* 284 4 */
- const struct iw_handler_def * wireless_handlers; /* 288 4 */
- struct iw_public_data * wireless_data; /* 292 4 */
- const struct net_device_ops * netdev_ops; /* 296 4 */
- const struct ethtool_ops * ethtool_ops; /* 300 4 */
- const struct ndisc_ops * ndisc_ops; /* 304 4 */
- const struct header_ops * header_ops; /* 308 4 */
- unsigned int flags; /* 312 4 */
- unsigned int priv_flags; /* 316 4 */
- /* --- cacheline 5 boundary (320 bytes) --- */
- short unsigned int gflags; /* 320 2 */
- short unsigned int padded; /* 322 2 */
- unsigned char operstate; /* 324 1 */
- unsigned char link_mode; /* 325 1 */
- unsigned char if_port; /* 326 1 */
- unsigned char dma; /* 327 1 */
- unsigned int mtu; /* 328 4 */
- unsigned int min_mtu; /* 332 4 */
- unsigned int max_mtu; /* 336 4 */
- short unsigned int type; /* 340 2 */
- short unsigned int hard_header_len; /* 342 2 */
- unsigned char min_header_len; /* 344 1 */
- /* XXX 1 byte hole, try to pack */
- short unsigned int needed_headroom; /* 346 2 */
- short unsigned int needed_tailroom; /* 348 2 */
- unsigned char perm_addr[32]; /* 350 32 */
- unsigned char addr_assign_type; /* 382 1 */
- unsigned char addr_len; /* 383 1 */
- /* --- cacheline 6 boundary (384 bytes) --- */
- unsigned char vid_len; /* 384 1 */
- /* XXX 1 byte hole, try to pack */
- short unsigned int neigh_priv_len; /* 386 2 */
- short unsigned int dev_id; /* 388 2 */
- short unsigned int dev_port; /* 390 2 */
- spinlock_t addr_list_lock; /* 392 4 */
- unsigned char name_assign_type; /* 396 1 */
- bool uc_promisc; /* 397 1 */
- /* XXX 2 bytes hole, try to pack */
- struct netdev_hw_addr_list uc; /* 400 12 */
- struct netdev_hw_addr_list mc; /* 412 12 */
- struct netdev_hw_addr_list dev_addrs; /* 424 12 */
- struct kset * queues_kset; /* 436 4 */
- unsigned int promiscuity; /* 440 4 */
- unsigned int allmulti; /* 444 4 */
- /* --- cacheline 7 boundary (448 bytes) --- */
- struct vlan_info * vlan_info; /* 448 4 */
- struct in_device * ip_ptr; /* 452 4 */
- struct inet6_dev * ip6_ptr; /* 456 4 */
- struct wireless_dev * ieee80211_ptr; /* 460 4 */
- struct wpan_dev * ieee802154_ptr; /* 464 4 */
- unsigned char * dev_addr; /* 468 4 */
- struct netdev_rx_queue * _rx; /* 472 4 */
- unsigned int num_rx_queues; /* 476 4 */
- unsigned int real_num_rx_queues; /* 480 4 */
- struct bpf_prog * xdp_prog; /* 484 4 */
- long unsigned int gro_flush_timeout; /* 488 4 */
- rx_handler_func_t * rx_handler; /* 492 4 */
- void * rx_handler_data; /* 496 4 */
- struct mini_Qdisc * miniq_ingress; /* 500 4 */
- struct netdev_queue * ingress_queue; /* 504 4 */
- struct nf_hook_entries * nf_hooks_ingress; /* 508 4 */
- /* --- cacheline 8 boundary (512 bytes) --- */
- unsigned char broadcast[32]; /* 512 32 */
- struct cpu_rmap * rx_cpu_rmap; /* 544 4 */
- struct hlist_node index_hlist; /* 548 8 */
- /* XXX 20 bytes hole, try to pack */
- /* --- cacheline 9 boundary (576 bytes) --- */
- struct netdev_queue * _tx; /* 576 4 */
- unsigned int num_tx_queues; /* 580 4 */
- unsigned int real_num_tx_queues; /* 584 4 */
- struct Qdisc * qdisc; /* 588 4 */
- struct hlist_head qdisc_hash[16]; /* 592 64 */
- /* --- cacheline 10 boundary (640 bytes) was 16 bytes ago --- */
- unsigned int tx_queue_len; /* 656 4 */
- spinlock_t tx_global_lock; /* 660 4 */
- int watchdog_timeo; /* 664 4 */
- struct xps_dev_maps * xps_cpus_map; /* 668 4 */
- struct xps_dev_maps * xps_rxqs_map; /* 672 4 */
- struct mini_Qdisc * miniq_egress; /* 676 4 */
- struct timer_list watchdog_timer; /* 680 20 */
- int * pcpu_refcnt; /* 700 4 */
- /* --- cacheline 11 boundary (704 bytes) --- */
- struct list_head todo_list; /* 704 8 */
- struct list_head link_watch_list; /* 712 8 */
- enum {
- NETREG_UNINITIALIZED = 0,
- NETREG_REGISTERED = 1,
- NETREG_UNREGISTERING = 2,
- NETREG_UNREGISTERED = 3,
- NETREG_RELEASED = 4,
- NETREG_DUMMY = 5,
- } reg_state:8; /* 720 4 */
- /* Bitfield combined with next fields */
- bool dismantle; /* 721 1 */
- /* Bitfield combined with previous fields */
- enum {
- RTNL_LINK_INITIALIZED = 0,
- RTNL_LINK_INITIALIZING = 1,
- } rtnl_link_state:16; /* 720 4 */
- bool needs_free_netdev; /* 724 1 */
- /* XXX 3 bytes hole, try to pack */
- void (*priv_destructor)(struct net_device *); /* 728 4 */
- possible_net_t nd_net; /* 732 0 */
- union {
- void * ml_priv; /* 4 */
- struct pcpu_lstats * lstats; /* 4 */
- struct pcpu_sw_netstats * tstats; /* 4 */
- struct pcpu_dstats * dstats; /* 4 */
- }; /* 732 4 */
- struct device dev; /* 736 464 */
- /* --- cacheline 18 boundary (1152 bytes) was 48 bytes ago --- */
- const struct attribute_group * sysfs_groups[4]; /* 1200 16 */
- /* --- cacheline 19 boundary (1216 bytes) --- */
- const struct attribute_group * sysfs_rx_queue_group; /* 1216 4 */
- const struct rtnl_link_ops * rtnl_link_ops; /* 1220 4 */
- unsigned int gso_max_size; /* 1224 4 */
- u16 gso_max_segs; /* 1228 2 */
- s16 num_tc; /* 1230 2 */
- struct netdev_tc_txq tc_to_txq[16]; /* 1232 64 */
- /* --- cacheline 20 boundary (1280 bytes) was 16 bytes ago --- */
- u8 prio_tc_map[16]; /* 1296 16 */
- struct phy_device * phydev; /* 1312 4 */
- struct sfp_bus * sfp_bus; /* 1316 4 */
- struct lock_class_key * qdisc_tx_busylock; /* 1320 4 */
- struct lock_class_key * qdisc_running_key; /* 1324 4 */
- bool proto_down; /* 1328 1 */
- /* Bitfield combined with previous fields */
- unsigned int wol_enabled:1; /* 1328:23 4 */
- /* size: 1344, cachelines: 21, members: 124 */
- /* sum members: 1305, holes: 5, sum holes: 27 */
- /* padding: 12 */
- /* bit_padding: 31 bits */
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement