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 16 */
- struct dev_ifalias * ifalias; /* 32 8 */
- long unsigned int mem_end; /* 40 8 */
- long unsigned int mem_start; /* 48 8 */
- long unsigned int base_addr; /* 56 8 */
- /* --- cacheline 1 boundary (64 bytes) --- */
- int irq; /* 64 4 */
- /* XXX 4 bytes hole, try to pack */
- long unsigned int state; /* 72 8 */
- struct list_head dev_list; /* 80 16 */
- struct list_head napi_list; /* 96 16 */
- struct list_head unreg_list; /* 112 16 */
- /* --- cacheline 2 boundary (128 bytes) --- */
- struct list_head close_list; /* 128 16 */
- struct list_head ptype_all; /* 144 16 */
- struct list_head ptype_specific; /* 160 16 */
- struct {
- struct list_head upper; /* 176 16 */
- struct list_head lower; /* 192 16 */
- } adj_list; /* 176 32 */
- /* --- cacheline 3 boundary (192 bytes) was 16 bytes ago --- */
- netdev_features_t features; /* 208 8 */
- netdev_features_t hw_features; /* 216 8 */
- netdev_features_t wanted_features; /* 224 8 */
- netdev_features_t vlan_features; /* 232 8 */
- netdev_features_t hw_enc_features; /* 240 8 */
- netdev_features_t mpls_features; /* 248 8 */
- /* --- cacheline 4 boundary (256 bytes) --- */
- netdev_features_t gso_partial_features; /* 256 8 */
- int ifindex; /* 264 4 */
- int group; /* 268 4 */
- struct net_device_stats stats; /* 272 184 */
- /* --- cacheline 7 boundary (448 bytes) was 8 bytes ago --- */
- atomic_long_t rx_dropped; /* 456 8 */
- atomic_long_t tx_dropped; /* 464 8 */
- atomic_long_t rx_nohandler; /* 472 8 */
- atomic_t carrier_up_count; /* 480 4 */
- atomic_t carrier_down_count; /* 484 4 */
- const struct net_device_ops * netdev_ops; /* 488 8 */
- const struct ethtool_ops * ethtool_ops; /* 496 8 */
- const struct ndisc_ops * ndisc_ops; /* 504 8 */
- /* --- cacheline 8 boundary (512 bytes) --- */
- const struct header_ops * header_ops; /* 512 8 */
- unsigned int flags; /* 520 4 */
- unsigned int priv_flags; /* 524 4 */
- short unsigned int gflags; /* 528 2 */
- short unsigned int padded; /* 530 2 */
- unsigned char operstate; /* 532 1 */
- unsigned char link_mode; /* 533 1 */
- unsigned char if_port; /* 534 1 */
- unsigned char dma; /* 535 1 */
- unsigned int mtu; /* 536 4 */
- unsigned int min_mtu; /* 540 4 */
- unsigned int max_mtu; /* 544 4 */
- short unsigned int type; /* 548 2 */
- short unsigned int hard_header_len; /* 550 2 */
- unsigned char min_header_len; /* 552 1 */
- /* XXX 1 byte hole, try to pack */
- short unsigned int needed_headroom; /* 554 2 */
- short unsigned int needed_tailroom; /* 556 2 */
- unsigned char perm_addr[32]; /* 558 32 */
- /* --- cacheline 9 boundary (576 bytes) was 14 bytes ago --- */
- unsigned char addr_assign_type; /* 590 1 */
- unsigned char addr_len; /* 591 1 */
- short unsigned int neigh_priv_len; /* 592 2 */
- short unsigned int dev_id; /* 594 2 */
- short unsigned int dev_port; /* 596 2 */
- /* XXX 2 bytes hole, try to pack */
- spinlock_t addr_list_lock; /* 600 4 */
- unsigned char name_assign_type; /* 604 1 */
- bool uc_promisc; /* 605 1 */
- /* XXX 2 bytes hole, try to pack */
- struct netdev_hw_addr_list uc; /* 608 24 */
- struct netdev_hw_addr_list mc; /* 632 24 */
- /* --- cacheline 10 boundary (640 bytes) was 16 bytes ago --- */
- struct netdev_hw_addr_list dev_addrs; /* 656 24 */
- struct kset * queues_kset; /* 680 8 */
- unsigned int promiscuity; /* 688 4 */
- unsigned int allmulti; /* 692 4 */
- struct vlan_info * vlan_info; /* 696 8 */
- /* --- cacheline 11 boundary (704 bytes) --- */
- struct in_device * ip_ptr; /* 704 8 */
- struct inet6_dev * ip6_ptr; /* 712 8 */
- struct wireless_dev * ieee80211_ptr; /* 720 8 */
- struct wpan_dev * ieee802154_ptr; /* 728 8 */
- unsigned char * dev_addr; /* 736 8 */
- struct netdev_rx_queue * _rx; /* 744 8 */
- unsigned int num_rx_queues; /* 752 4 */
- unsigned int real_num_rx_queues; /* 756 4 */
- struct bpf_prog * xdp_prog; /* 760 8 */
- /* --- cacheline 12 boundary (768 bytes) --- */
- long unsigned int gro_flush_timeout; /* 768 8 */
- rx_handler_func_t * rx_handler; /* 776 8 */
- void * rx_handler_data; /* 784 8 */
- struct netdev_queue * ingress_queue; /* 792 8 */
- struct nf_hook_entries * nf_hooks_ingress; /* 800 8 */
- unsigned char broadcast[32]; /* 808 32 */
- /* --- cacheline 13 boundary (832 bytes) was 8 bytes ago --- */
- struct cpu_rmap * rx_cpu_rmap; /* 840 8 */
- struct hlist_node index_hlist; /* 848 16 */
- /* XXX 32 bytes hole, try to pack */
- /* --- cacheline 14 boundary (896 bytes) --- */
- struct netdev_queue * _tx; /* 896 8 */
- unsigned int num_tx_queues; /* 904 4 */
- unsigned int real_num_tx_queues; /* 908 4 */
- struct Qdisc * qdisc; /* 912 8 */
- unsigned int tx_queue_len; /* 920 4 */
- spinlock_t tx_global_lock; /* 924 4 */
- int watchdog_timeo; /* 928 4 */
- /* XXX 4 bytes hole, try to pack */
- struct xps_dev_maps * xps_cpus_map; /* 936 8 */
- struct xps_dev_maps * xps_rxqs_map; /* 944 8 */
- struct timer_list watchdog_timer; /* 952 40 */
- /* --- cacheline 15 boundary (960 bytes) was 32 bytes ago --- */
- int * pcpu_refcnt; /* 992 8 */
- struct list_head todo_list; /* 1000 16 */
- struct list_head link_watch_list; /* 1016 16 */
- /* --- cacheline 16 boundary (1024 bytes) was 8 bytes ago --- */
- enum {
- NETREG_UNINITIALIZED = 0,
- NETREG_REGISTERED = 1,
- NETREG_UNREGISTERING = 2,
- NETREG_UNREGISTERED = 3,
- NETREG_RELEASED = 4,
- NETREG_DUMMY = 5,
- } reg_state:8; /* 1032 4 */
- /* Bitfield combined with next fields */
- bool dismantle; /* 1033 1 */
- /* Bitfield combined with previous fields */
- enum {
- RTNL_LINK_INITIALIZED = 0,
- RTNL_LINK_INITIALIZING = 1,
- } rtnl_link_state:16; /* 1032 4 */
- bool needs_free_netdev; /* 1036 1 */
- /* XXX 3 bytes hole, try to pack */
- void (*priv_destructor)(struct net_device *); /* 1040 8 */
- possible_net_t nd_net; /* 1048 8 */
- union {
- void * ml_priv; /* 8 */
- struct pcpu_lstats * lstats; /* 8 */
- struct pcpu_sw_netstats * tstats; /* 8 */
- struct pcpu_dstats * dstats; /* 8 */
- }; /* 1056 8 */
- struct garp_port * garp_port; /* 1064 8 */
- struct mrp_port * mrp_port; /* 1072 8 */
- struct device dev; /* 1080 768 */
- /* --- cacheline 28 boundary (1792 bytes) was 56 bytes ago --- */
- const struct attribute_group * sysfs_groups[4]; /* 1848 32 */
- /* --- cacheline 29 boundary (1856 bytes) was 24 bytes ago --- */
- const struct attribute_group * sysfs_rx_queue_group; /* 1880 8 */
- const struct rtnl_link_ops * rtnl_link_ops; /* 1888 8 */
- unsigned int gso_max_size; /* 1896 4 */
- u16 gso_max_segs; /* 1900 2 */
- s16 num_tc; /* 1902 2 */
- struct netdev_tc_txq tc_to_txq[16]; /* 1904 64 */
- /* --- cacheline 30 boundary (1920 bytes) was 48 bytes ago --- */
- u8 prio_tc_map[16]; /* 1968 16 */
- /* --- cacheline 31 boundary (1984 bytes) --- */
- struct phy_device * phydev; /* 1984 8 */
- struct sfp_bus * sfp_bus; /* 1992 8 */
- struct lock_class_key * qdisc_tx_busylock; /* 2000 8 */
- struct lock_class_key * qdisc_running_key; /* 2008 8 */
- bool proto_down; /* 2016 1 */
- /* Bitfield combined with previous fields */
- unsigned int wol_enabled:1; /* 2016:23 4 */
- /* size: 2048, cachelines: 32, members: 120 */
- /* sum members: 1972, holes: 7, sum holes: 48 */
- /* padding: 28 */
- /* bit_padding: 31 bits */
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement