struct netlbl_cipsov4_doiwalk_arg { struct netlink_callback * nl_cb; /* 0 4 */ struct sk_buff * skb; /* 4 4 */ u32 seq; /* 8 4 */ /* size: 12, cachelines: 1 */ /* last cacheline: 12 bytes */ }; /* definitions: 1 */ struct netlbl_domhsh_walk_arg { struct netlink_callback * nl_cb; /* 0 4 */ struct sk_buff * skb; /* 4 4 */ u32 seq; /* 8 4 */ /* size: 12, cachelines: 1 */ /* last cacheline: 12 bytes */ }; /* definitions: 1 */ struct netlbl_domhsh_tbl { struct list_head * tbl; /* 0 4 */ u32 size; /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ struct netlbl_dom_map { char * domain; /* 0 4 */ u32 type; /* 4 4 */ union { struct cipso_v4_doi * cipsov4; /* 4 */ } type_def; /* 8 4 */ u32 valid; /* 12 4 */ struct list_head list; /* 16 8 */ struct rcu_head rcu; /* 24 8 */ /* size: 32, cachelines: 1 */ /* last cacheline: 32 bytes */ }; /* definitions: 4 */ struct iw_ioctl_description { __u8 header_type; /* 0 1 */ __u8 token_type; /* 1 1 */ __u16 token_size; /* 2 2 */ __u16 min_tokens; /* 4 2 */ __u16 max_tokens; /* 6 2 */ __u32 flags; /* 8 4 */ /* size: 12, cachelines: 1 */ /* last cacheline: 12 bytes */ }; /* definitions: 1 */ struct iw_event { __u16 len; /* 0 2 */ __u16 cmd; /* 2 2 */ union iwreq_data u; /* 4 16 */ /* size: 20, cachelines: 1 */ /* last cacheline: 20 bytes */ }; /* definitions: 1 */ struct iwreq { union { char ifrn_name[16]; /* 16 */ } ifr_ifrn; /* 0 16 */ union iwreq_data u; /* 16 16 */ /* size: 32, cachelines: 1 */ /* last cacheline: 32 bytes */ }; /* definitions: 1 */ struct iw_thrspy { struct sockaddr addr; /* 0 16 */ struct iw_quality qual; /* 16 4 */ struct iw_quality low; /* 20 4 */ struct iw_quality high; /* 24 4 */ /* size: 28, cachelines: 1 */ /* last cacheline: 28 bytes */ }; /* definitions: 1 */ struct packet_sock { struct sock sk; /* 0 596 */ /* --- cacheline 9 boundary (576 bytes) was 20 bytes ago --- */ struct tpacket_stats stats; /* 596 8 */ char * * pg_vec; /* 604 4 */ unsigned int head; /* 608 4 */ unsigned int frames_per_block; /* 612 4 */ unsigned int frame_size; /* 616 4 */ unsigned int frame_max; /* 620 4 */ int copy_thresh; /* 624 4 */ struct packet_type prot_hook; /* 628 32 */ /* --- cacheline 10 boundary (640 bytes) was 20 bytes ago --- */ spinlock_t bind_lock; /* 660 32 */ unsigned int running:1; /* 692 4 */ unsigned int auxdata:1; /* 692 4 */ /* XXX 30 bits hole, try to pack */ int ifindex; /* 696 4 */ __be16 num; /* 700 2 */ /* XXX 2 bytes hole, try to pack */ /* --- cacheline 11 boundary (704 bytes) --- */ struct packet_mclist * mclist; /* 704 4 */ atomic_t mapped; /* 708 4 */ unsigned int pg_vec_order; /* 712 4 */ unsigned int pg_vec_pages; /* 716 4 */ unsigned int pg_vec_len; /* 720 4 */ /* size: 724, cachelines: 12 */ /* sum members: 722, holes: 1, sum holes: 2 */ /* bit holes: 1, sum bit holes: 30 bits */ /* last cacheline: 20 bytes */ }; /* definitions: 1 */ struct packet_mreq_max { int mr_ifindex; /* 0 4 */ short unsigned int mr_type; /* 4 2 */ short unsigned int mr_alen; /* 6 2 */ unsigned char mr_address[32]; /* 8 32 */ /* size: 40, cachelines: 1 */ /* last cacheline: 40 bytes */ }; /* definitions: 1 */ struct packet_mclist { struct packet_mclist * next; /* 0 4 */ int ifindex; /* 4 4 */ int count; /* 8 4 */ short unsigned int type; /* 12 2 */ short unsigned int alen; /* 14 2 */ unsigned char addr[32]; /* 16 32 */ /* size: 48, cachelines: 1 */ /* last cacheline: 48 bytes */ }; /* definitions: 1 */ struct tpacket_req { unsigned int tp_block_size; /* 0 4 */ unsigned int tp_block_nr; /* 4 4 */ unsigned int tp_frame_size; /* 8 4 */ unsigned int tp_frame_nr; /* 12 4 */ /* size: 16, cachelines: 1 */ /* last cacheline: 16 bytes */ }; /* definitions: 1 */ struct tpacket_hdr { long unsigned int tp_status; /* 0 4 */ unsigned int tp_len; /* 4 4 */ unsigned int tp_snaplen; /* 8 4 */ short unsigned int tp_mac; /* 12 2 */ short unsigned int tp_net; /* 14 2 */ unsigned int tp_sec; /* 16 4 */ unsigned int tp_usec; /* 20 4 */ /* size: 24, cachelines: 1 */ /* last cacheline: 24 bytes */ }; /* definitions: 1 */ struct tpacket_auxdata { __u32 tp_status; /* 0 4 */ __u32 tp_len; /* 4 4 */ __u32 tp_snaplen; /* 8 4 */ __u16 tp_mac; /* 12 2 */ __u16 tp_net; /* 14 2 */ /* size: 16, cachelines: 1 */ /* last cacheline: 16 bytes */ }; /* definitions: 1 */ struct tpacket_stats { unsigned int tp_packets; /* 0 4 */ unsigned int tp_drops; /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ struct sockaddr_ll { short unsigned int sll_family; /* 0 2 */ __be16 sll_protocol; /* 2 2 */ int sll_ifindex; /* 4 4 */ short unsigned int sll_hatype; /* 8 2 */ unsigned char sll_pkttype; /* 10 1 */ unsigned char sll_halen; /* 11 1 */ unsigned char sll_addr[8]; /* 12 8 */ /* size: 20, cachelines: 1 */ /* last cacheline: 20 bytes */ }; /* definitions: 1 */ struct sockaddr_pkt { short unsigned int spkt_family; /* 0 2 */ unsigned char spkt_device[14]; /* 2 14 */ __be16 spkt_protocol; /* 16 2 */ /* size: 18, cachelines: 1 */ /* last cacheline: 18 bytes */ }; /* definitions: 1 */ struct xfrm_link { int (*doit)(struct sk_buff *, struct nlmsghdr *, struct rtattr * *); /* 0 4 */ int (*dump)(struct sk_buff *, struct netlink_callback *); /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ struct xfrm_dump_info { struct sk_buff * in_skb; /* 0 4 */ struct sk_buff * out_skb; /* 4 4 */ u32 nlmsg_seq; /* 8 4 */ u16 nlmsg_flags; /* 12 2 */ /* XXX 2 bytes hole, try to pack */ int start_idx; /* 16 4 */ int this_idx; /* 20 4 */ /* size: 24, cachelines: 1 */ /* sum members: 22, holes: 1, sum holes: 2 */ /* last cacheline: 24 bytes */ }; /* definitions: 1 */ struct xfrm_user_migrate { xfrm_address_t old_daddr; /* 0 16 */ xfrm_address_t old_saddr; /* 16 16 */ xfrm_address_t new_daddr; /* 32 16 */ xfrm_address_t new_saddr; /* 48 16 */ /* --- cacheline 1 boundary (64 bytes) --- */ __u8 proto; /* 64 1 */ __u8 mode; /* 65 1 */ __u16 reserved; /* 66 2 */ __u32 reqid; /* 68 4 */ __u16 old_family; /* 72 2 */ __u16 new_family; /* 74 2 */ /* size: 76, cachelines: 2 */ /* last cacheline: 12 bytes */ }; /* definitions: 1 */ struct xfrm_user_report { __u8 proto; /* 0 1 */ /* XXX 3 bytes hole, try to pack */ struct xfrm_selector sel; /* 4 56 */ /* size: 60, cachelines: 1 */ /* sum members: 57, holes: 1, sum holes: 3 */ /* last cacheline: 60 bytes */ }; /* definitions: 1 */ struct xfrm_usersa_flush { __u8 proto; /* 0 1 */ /* size: 1, cachelines: 1 */ /* last cacheline: 1 bytes */ }; /* definitions: 1 */ struct xfrm_user_polexpire { struct xfrm_userpolicy_info pol; /* 0 164 */ /* --- cacheline 2 boundary (128 bytes) was 36 bytes ago --- */ __u8 hard; /* 164 1 */ /* size: 168, cachelines: 3 */ /* padding: 3 */ /* last cacheline: 40 bytes */ }; /* definitions: 1 */ struct xfrm_user_expire { struct xfrm_usersa_info state; /* 0 220 */ /* XXX last struct has 3 bytes of padding */ /* --- cacheline 3 boundary (192 bytes) was 28 bytes ago --- */ __u8 hard; /* 220 1 */ /* size: 224, cachelines: 4 */ /* padding: 3 */ /* paddings: 1, sum paddings: 3 */ /* last cacheline: 32 bytes */ }; /* definitions: 1 */ struct xfrm_user_acquire { struct xfrm_id id; /* 0 24 */ /* XXX last struct has 3 bytes of padding */ xfrm_address_t saddr; /* 24 16 */ struct xfrm_selector sel; /* 40 56 */ /* --- cacheline 1 boundary (64 bytes) was 32 bytes ago --- */ struct xfrm_userpolicy_info policy; /* 96 164 */ /* --- cacheline 4 boundary (256 bytes) was 4 bytes ago --- */ __u32 aalgos; /* 260 4 */ __u32 ealgos; /* 264 4 */ __u32 calgos; /* 268 4 */ __u32 seq; /* 272 4 */ /* size: 276, cachelines: 5 */ /* paddings: 1, sum paddings: 3 */ /* last cacheline: 20 bytes */ }; /* definitions: 1 */ struct xfrm_userpolicy_id { struct xfrm_selector sel; /* 0 56 */ __u32 index; /* 56 4 */ __u8 dir; /* 60 1 */ /* size: 64, cachelines: 1 */ /* padding: 3 */ }; /* definitions: 1 */ struct xfrm_userpolicy_info { struct xfrm_selector sel; /* 0 56 */ struct xfrm_lifetime_cfg lft; /* 56 64 */ /* --- cacheline 1 boundary (64 bytes) was 56 bytes ago --- */ struct xfrm_lifetime_cur curlft; /* 120 32 */ /* --- cacheline 2 boundary (128 bytes) was 24 bytes ago --- */ __u32 priority; /* 152 4 */ __u32 index; /* 156 4 */ __u8 dir; /* 160 1 */ __u8 action; /* 161 1 */ __u8 flags; /* 162 1 */ __u8 share; /* 163 1 */ /* size: 164, cachelines: 3 */ /* last cacheline: 36 bytes */ }; /* definitions: 1 */ struct xfrm_userspi_info { struct xfrm_usersa_info info; /* 0 220 */ /* XXX last struct has 3 bytes of padding */ /* --- cacheline 3 boundary (192 bytes) was 28 bytes ago --- */ __u32 min; /* 220 4 */ __u32 max; /* 224 4 */ /* size: 228, cachelines: 4 */ /* paddings: 1, sum paddings: 3 */ /* last cacheline: 36 bytes */ }; /* definitions: 1 */ struct xfrm_aevent_id { struct xfrm_usersa_id sa_id; /* 0 24 */ /* XXX last struct has 1 byte of padding */ xfrm_address_t saddr; /* 24 16 */ __u32 flags; /* 40 4 */ __u32 reqid; /* 44 4 */ /* size: 48, cachelines: 1 */ /* paddings: 1, sum paddings: 1 */ /* last cacheline: 48 bytes */ }; /* definitions: 1 */ struct xfrm_usersa_id { xfrm_address_t daddr; /* 0 16 */ __be32 spi; /* 16 4 */ __u16 family; /* 20 2 */ __u8 proto; /* 22 1 */ /* size: 24, cachelines: 1 */ /* padding: 1 */ /* last cacheline: 24 bytes */ }; /* definitions: 1 */ struct xfrm_usersa_info { struct xfrm_selector sel; /* 0 56 */ struct xfrm_id id; /* 56 24 */ /* XXX last struct has 3 bytes of padding */ /* --- cacheline 1 boundary (64 bytes) was 16 bytes ago --- */ xfrm_address_t saddr; /* 80 16 */ struct xfrm_lifetime_cfg lft; /* 96 64 */ /* --- cacheline 2 boundary (128 bytes) was 32 bytes ago --- */ struct xfrm_lifetime_cur curlft; /* 160 32 */ /* --- cacheline 3 boundary (192 bytes) --- */ struct xfrm_stats stats; /* 192 12 */ __u32 seq; /* 204 4 */ __u32 reqid; /* 208 4 */ __u16 family; /* 212 2 */ __u8 mode; /* 214 1 */ __u8 replay_window; /* 215 1 */ __u8 flags; /* 216 1 */ /* size: 220, cachelines: 4 */ /* padding: 3 */ /* paddings: 1, sum paddings: 3 */ /* last cacheline: 28 bytes */ }; /* definitions: 1 */ struct xfrm_userpolicy_type { __u8 type; /* 0 1 */ /* XXX 1 byte hole, try to pack */ __u16 reserved1; /* 2 2 */ __u8 reserved2; /* 4 1 */ /* size: 6, cachelines: 1 */ /* sum members: 4, holes: 1, sum holes: 1 */ /* padding: 1 */ /* last cacheline: 6 bytes */ }; /* definitions: 1 */ struct xfrm_user_tmpl { struct xfrm_id id; /* 0 24 */ /* XXX last struct has 3 bytes of padding */ __u16 family; /* 24 2 */ /* XXX 2 bytes hole, try to pack */ xfrm_address_t saddr; /* 28 16 */ __u32 reqid; /* 44 4 */ __u8 mode; /* 48 1 */ __u8 share; /* 49 1 */ __u8 optional; /* 50 1 */ /* XXX 1 byte hole, try to pack */ __u32 aalgos; /* 52 4 */ __u32 ealgos; /* 56 4 */ __u32 calgos; /* 60 4 */ /* --- cacheline 1 boundary (64 bytes) --- */ /* size: 64, cachelines: 1 */ /* sum members: 61, holes: 2, sum holes: 3 */ /* paddings: 1, sum paddings: 3 */ }; /* definitions: 1 */ struct xfrm_user_sec_ctx { __u16 len; /* 0 2 */ __u16 exttype; /* 2 2 */ __u8 ctx_alg; /* 4 1 */ __u8 ctx_doi; /* 5 1 */ __u16 ctx_len; /* 6 2 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ struct xfrm_algo_desc { char * name; /* 0 4 */ char * compat; /* 4 4 */ u8 available:1; /* 8 1 */ /* XXX 7 bits hole, try to pack */ /* XXX 1 byte hole, try to pack */ union { struct xfrm_algo_auth_info auth; /* 4 */ struct xfrm_algo_encr_info encr; /* 4 */ struct xfrm_algo_comp_info comp; /* 2 */ } uinfo; /* 10 4 */ struct sadb_alg desc; /* 14 8 */ /* size: 24, cachelines: 1 */ /* sum members: 21, holes: 1, sum holes: 1 */ /* bit holes: 1, sum bit holes: 7 bits */ /* padding: 2 */ /* last cacheline: 24 bytes */ }; /* definitions: 2 */ struct xfrm_algo_comp_info { u16 threshold; /* 0 2 */ /* size: 2, cachelines: 1 */ /* last cacheline: 2 bytes */ }; /* definitions: 2 */ struct xfrm_algo_encr_info { u16 blockbits; /* 0 2 */ u16 defkeybits; /* 2 2 */ /* size: 4, cachelines: 1 */ /* last cacheline: 4 bytes */ }; /* definitions: 2 */ struct xfrm_algo_auth_info { u16 icv_truncbits; /* 0 2 */ u16 icv_fullbits; /* 2 2 */ /* size: 4, cachelines: 1 */ /* last cacheline: 4 bytes */ }; /* definitions: 2 */ struct sadb_alg { uint8_t sadb_alg_id; /* 0 1 */ uint8_t sadb_alg_ivlen; /* 1 1 */ uint16_t sadb_alg_minbits; /* 2 2 */ uint16_t sadb_alg_maxbits; /* 4 2 */ uint16_t sadb_alg_reserved; /* 6 2 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 2 */ struct xfrm_mgr { struct list_head list; /* 0 8 */ char * id; /* 8 4 */ int (*notify)(struct xfrm_state *, struct km_event *); /* 12 4 */ int (*acquire)(struct xfrm_state *, struct xfrm_tmpl *, struct xfrm_policy *, int); /* 16 4 */ struct xfrm_policy * (*compile_policy)(struct sock *, int, u8 *, int, int *); /* 20 4 */ int (*new_mapping)(struct xfrm_state *, xfrm_address_t *, __be16); /* 24 4 */ int (*notify_policy)(struct xfrm_policy *, int, struct km_event *); /* 28 4 */ int (*report)(u8, struct xfrm_selector *, xfrm_address_t *); /* 32 4 */ int (*migrate)(struct xfrm_selector *, u8, u8, struct xfrm_migrate *, int); /* 36 4 */ /* size: 40, cachelines: 1 */ /* last cacheline: 40 bytes */ }; /* definitions: 2 */ struct km_event { union { u32 hard; /* 4 */ u32 proto; /* 4 */ u32 byid; /* 4 */ u32 aevent; /* 4 */ u32 type; /* 4 */ } data; /* 0 4 */ u32 seq; /* 4 4 */ u32 pid; /* 8 4 */ u32 event; /* 12 4 */ /* size: 16, cachelines: 1 */ /* last cacheline: 16 bytes */ }; /* definitions: 2 */ struct xfrm_policy_hash { struct hlist_head * table; /* 0 4 */ unsigned int hmask; /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ struct xfrm_audit { uid_t loginuid; /* 0 4 */ u32 secid; /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 3 */ struct xfrm_migrate { xfrm_address_t old_daddr; /* 0 16 */ xfrm_address_t old_saddr; /* 16 16 */ xfrm_address_t new_daddr; /* 32 16 */ xfrm_address_t new_saddr; /* 48 16 */ /* --- cacheline 1 boundary (64 bytes) --- */ u8 proto; /* 64 1 */ u8 mode; /* 65 1 */ u16 reserved; /* 66 2 */ u32 reqid; /* 68 4 */ u16 old_family; /* 72 2 */ u16 new_family; /* 74 2 */ /* size: 76, cachelines: 2 */ /* last cacheline: 12 bytes */ }; /* definitions: 3 */ struct xfrm_state_afinfo { short unsigned int family; /* 0 2 */ /* XXX 2 bytes hole, try to pack */ int (*init_flags)(struct xfrm_state *); /* 4 4 */ void (*init_tempsel)(struct xfrm_state *, struct flowi *, struct xfrm_tmpl *, xfrm_address_t *, xfrm_address_t *); /* 8 4 */ int (*tmpl_sort)(struct xfrm_tmpl * *, struct xfrm_tmpl * *, int); /* 12 4 */ int (*state_sort)(struct xfrm_state * *, struct xfrm_state * *, int); /* 16 4 */ int (*output)(struct sk_buff *); /* 20 4 */ /* size: 24, cachelines: 1 */ /* sum members: 22, holes: 1, sum holes: 2 */ /* last cacheline: 24 bytes */ }; /* definitions: 3 */ struct xfrm_dst { union { struct xfrm_dst * next; /* 4 */ struct dst_entry dst; /* 140 */ struct rtable rt; /* 236 */ struct rt6_info rt6; /* 224 */ } u; /* 0 236 */ /* --- cacheline 3 boundary (192 bytes) was 44 bytes ago --- */ struct dst_entry * route; /* 236 4 */ u32 genid; /* 240 4 */ u32 route_mtu_cached; /* 244 4 */ u32 child_mtu_cached; /* 248 4 */ u32 route_cookie; /* 252 4 */ /* --- cacheline 4 boundary (256 bytes) --- */ u32 path_cookie; /* 256 4 */ /* size: 260, cachelines: 5 */ /* last cacheline: 4 bytes */ }; /* definitions: 2 */ struct xfrm_policy_afinfo { short unsigned int family; /* 0 2 */ /* XXX 2 bytes hole, try to pack */ struct xfrm_type * type_map[256]; /* 4 1024 */ /* --- cacheline 16 boundary (1024 bytes) was 4 bytes ago --- */ struct xfrm_mode * mode_map[5]; /* 1028 20 */ struct dst_ops * dst_ops; /* 1048 4 */ void (*garbage_collect)(void); /* 1052 4 */ int (*dst_lookup)(struct xfrm_dst * *, struct flowi *); /* 1056 4 */ int (*get_saddr)(xfrm_address_t *, xfrm_address_t *); /* 1060 4 */ struct dst_entry * (*find_bundle)(struct flowi *, struct xfrm_policy *); /* 1064 4 */ int (*bundle_create)(struct xfrm_policy *, struct xfrm_state * *, int, struct flowi *, struct dst_entry * *); /* 1068 4 */ void (*decode_session)(struct sk_buff *, struct flowi *); /* 1072 4 */ /* size: 1076, cachelines: 17 */ /* sum members: 1074, holes: 1, sum holes: 2 */ /* last cacheline: 52 bytes */ }; /* definitions: 2 */ struct cipso_v4_map_cache_entry { u32 hash; /* 0 4 */ unsigned char * key; /* 4 4 */ size_t key_len; /* 8 4 */ struct netlbl_lsm_cache * lsm_data; /* 12 4 */ u32 activity; /* 16 4 */ struct list_head list; /* 20 8 */ /* size: 28, cachelines: 1 */ /* last cacheline: 28 bytes */ }; /* definitions: 1 */ struct cipso_v4_map_cache_bkt { spinlock_t lock; /* 0 32 */ u32 size; /* 32 4 */ struct list_head list; /* 36 8 */ /* size: 44, cachelines: 1 */ /* last cacheline: 44 bytes */ }; /* definitions: 1 */ struct cipso_v4_domhsh_entry { char * domain; /* 0 4 */ u32 valid; /* 4 4 */ struct list_head list; /* 8 8 */ struct rcu_head rcu; /* 16 8 */ /* size: 24, cachelines: 1 */ /* last cacheline: 24 bytes */ }; /* definitions: 1 */ struct cipso_v4_doi { u32 doi; /* 0 4 */ u32 type; /* 4 4 */ union { struct cipso_v4_std_map_tbl * std; /* 4 */ } map; /* 8 4 */ u8 tags[5]; /* 12 5 */ /* XXX 3 bytes hole, try to pack */ u32 valid; /* 20 4 */ struct list_head list; /* 24 8 */ struct rcu_head rcu; /* 32 8 */ struct list_head dom_list; /* 40 8 */ /* size: 48, cachelines: 1 */ /* sum members: 45, holes: 1, sum holes: 3 */ /* last cacheline: 48 bytes */ }; /* definitions: 5 */ struct cipso_v4_std_map_tbl { struct { u32 * cipso; /* 0 4 */ u32 * local; /* 4 4 */ u32 cipso_size; /* 8 4 */ u32 local_size; /* 12 4 */ } lvl; /* 0 16 */ struct { u32 * cipso; /* 16 4 */ u32 * local; /* 20 4 */ u32 cipso_size; /* 24 4 */ u32 local_size; /* 28 4 */ } cat; /* 16 16 */ /* size: 32, cachelines: 1 */ /* last cacheline: 32 bytes */ }; /* definitions: 5 */ struct netlbl_audit { u32 secid; /* 0 4 */ uid_t loginuid; /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 6 */ struct bictcp { u32 cnt; /* 0 4 */ u32 last_max_cwnd; /* 4 4 */ u32 loss_cwnd; /* 8 4 */ u32 last_cwnd; /* 12 4 */ u32 last_time; /* 16 4 */ u32 epoch_start; /* 20 4 */ u32 delayed_ack; /* 24 4 */ /* size: 28, cachelines: 1 */ /* last cacheline: 28 bytes */ }; /* definitions: 1 */ struct ip_rt_info { __be32 daddr; /* 0 4 */ __be32 saddr; /* 4 4 */ u_int8_t tos; /* 8 1 */ /* size: 12, cachelines: 1 */ /* padding: 3 */ /* last cacheline: 12 bytes */ }; /* definitions: 1 */ struct ipmr_mfc_iter { struct mfc_cache * * cache; /* 0 4 */ int ct; /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ struct ipmr_vif_iter { int ct; /* 0 4 */ /* size: 4, cachelines: 1 */ /* last cacheline: 4 bytes */ }; /* definitions: 1 */ struct ip_tunnel_parm { char name[16]; /* 0 16 */ int link; /* 16 4 */ __be16 i_flags; /* 20 2 */ __be16 o_flags; /* 22 2 */ __be32 i_key; /* 24 4 */ __be32 o_key; /* 28 4 */ struct iphdr iph; /* 32 20 */ /* size: 52, cachelines: 1 */ /* last cacheline: 52 bytes */ }; /* definitions: 1 */ struct pimreghdr { __u8 type; /* 0 1 */ __u8 reserved; /* 1 1 */ __be16 csum; /* 2 2 */ __be32 flags; /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ struct mfc_cache { struct mfc_cache * next; /* 0 4 */ __be32 mfc_mcastgrp; /* 4 4 */ __be32 mfc_origin; /* 8 4 */ vifi_t mfc_parent; /* 12 2 */ /* XXX 2 bytes hole, try to pack */ int mfc_flags; /* 16 4 */ union { struct { long unsigned int expires; /* 20 4 */ struct sk_buff_head unresolved; /* 24 44 */ } unres /* 48 */ struct { long unsigned int last_assert; /* 20 4 */ int minvif; /* 24 4 */ int maxvif; /* 28 4 */ long unsigned int bytes; /* 32 4 */ long unsigned int pkt; /* 36 4 */ long unsigned int wrong_if; /* 40 4 */ unsigned char ttls[32]; /* 44 32 */ } res /* 56 */ } mfc_un; /* 20 56 */ /* --- cacheline 1 boundary (64 bytes) was 12 bytes ago --- */ /* size: 76, cachelines: 2 */ /* sum members: 74, holes: 1, sum holes: 2 */ /* last cacheline: 12 bytes */ }; /* definitions: 1 */ struct vif_device { struct net_device * dev; /* 0 4 */ long unsigned int bytes_in; /* 4 4 */ long unsigned int bytes_out; /* 8 4 */ long unsigned int pkt_in; /* 12 4 */ long unsigned int pkt_out; /* 16 4 */ long unsigned int rate_limit; /* 20 4 */ unsigned char threshold; /* 24 1 */ /* XXX 1 byte hole, try to pack */ short unsigned int flags; /* 26 2 */ __be32 local; /* 28 4 */ __be32 remote; /* 32 4 */ int link; /* 36 4 */ /* size: 40, cachelines: 1 */ /* sum members: 39, holes: 1, sum holes: 1 */ /* last cacheline: 40 bytes */ }; /* definitions: 1 */ struct igmpmsg { __u32 unused1; /* 0 4 */ __u32 unused2; /* 4 4 */ unsigned char im_msgtype; /* 8 1 */ unsigned char im_mbz; /* 9 1 */ unsigned char im_vif; /* 10 1 */ unsigned char unused3; /* 11 1 */ struct in_addr im_src; /* 12 4 */ struct in_addr im_dst; /* 16 4 */ /* size: 20, cachelines: 1 */ /* last cacheline: 20 bytes */ }; /* definitions: 1 */ struct sioc_vif_req { vifi_t vifi; /* 0 2 */ /* XXX 2 bytes hole, try to pack */ long unsigned int icount; /* 4 4 */ long unsigned int ocount; /* 8 4 */ long unsigned int ibytes; /* 12 4 */ long unsigned int obytes; /* 16 4 */ /* size: 20, cachelines: 1 */ /* sum members: 18, holes: 1, sum holes: 2 */ /* last cacheline: 20 bytes */ }; /* definitions: 1 */ struct sioc_sg_req { struct in_addr src; /* 0 4 */ struct in_addr grp; /* 4 4 */ long unsigned int pktcnt; /* 8 4 */ long unsigned int bytecnt; /* 12 4 */ long unsigned int wrong_if; /* 16 4 */ /* size: 20, cachelines: 1 */ /* last cacheline: 20 bytes */ }; /* definitions: 1 */ struct mfcctl { struct in_addr mfcc_origin; /* 0 4 */ struct in_addr mfcc_mcastgrp; /* 4 4 */ vifi_t mfcc_parent; /* 8 2 */ unsigned char mfcc_ttls[32]; /* 10 32 */ /* XXX 2 bytes hole, try to pack */ unsigned int mfcc_pkt_cnt; /* 44 4 */ unsigned int mfcc_byte_cnt; /* 48 4 */ unsigned int mfcc_wrong_if; /* 52 4 */ int mfcc_expire; /* 56 4 */ /* size: 60, cachelines: 1 */ /* sum members: 58, holes: 1, sum holes: 2 */ /* last cacheline: 60 bytes */ }; /* definitions: 1 */ struct vifctl { vifi_t vifc_vifi; /* 0 2 */ unsigned char vifc_flags; /* 2 1 */ unsigned char vifc_threshold; /* 3 1 */ unsigned int vifc_rate_limit; /* 4 4 */ struct in_addr vifc_lcl_addr; /* 8 4 */ struct in_addr vifc_rmt_addr; /* 12 4 */ /* size: 16, cachelines: 1 */ /* last cacheline: 16 bytes */ }; /* definitions: 1 */ struct fib4_rule { struct fib_rule common; /* 0 64 */ /* --- cacheline 1 boundary (64 bytes) --- */ u8 dst_len; /* 64 1 */ u8 src_len; /* 65 1 */ u8 tos; /* 66 1 */ /* XXX 1 byte hole, try to pack */ __be32 src; /* 68 4 */ __be32 srcmask; /* 72 4 */ __be32 dst; /* 76 4 */ __be32 dstmask; /* 80 4 */ u32 tclassid; /* 84 4 */ /* size: 88, cachelines: 2 */ /* sum members: 87, holes: 1, sum holes: 1 */ /* last cacheline: 24 bytes */ }; /* definitions: 1 */ struct snmp_mib { char * name; /* 0 4 */ int entry; /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ struct fib_iter_state { struct fn_zone * zone; /* 0 4 */ int bucket; /* 4 4 */ struct hlist_head * hash_head; /* 8 4 */ struct fib_node * fn; /* 12 4 */ struct fib_alias * fa; /* 16 4 */ loff_t pos; /* 20 8 */ unsigned int genid; /* 28 4 */ int valid; /* 32 4 */ /* size: 36, cachelines: 1 */ /* last cacheline: 36 bytes */ }; /* definitions: 1 */ struct fn_hash { struct fn_zone * fn_zones[33]; /* 0 132 */ /* --- cacheline 2 boundary (128 bytes) was 4 bytes ago --- */ struct fn_zone * fn_zone_list; /* 132 4 */ /* size: 136, cachelines: 3 */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ struct fn_zone { struct fn_zone * fz_next; /* 0 4 */ struct hlist_head * fz_hash; /* 4 4 */ int fz_nent; /* 8 4 */ int fz_divisor; /* 12 4 */ u32 fz_hashmask; /* 16 4 */ int fz_order; /* 20 4 */ __be32 fz_mask; /* 24 4 */ /* size: 28, cachelines: 1 */ /* last cacheline: 28 bytes */ }; /* definitions: 1 */ struct fib_node { struct hlist_node fn_hash; /* 0 8 */ struct list_head fn_alias; /* 8 8 */ __be32 fn_key; /* 16 4 */ /* size: 20, cachelines: 1 */ /* last cacheline: 20 bytes */ }; /* definitions: 1 */ struct fib_alias { struct list_head fa_list; /* 0 8 */ struct rcu_head rcu; /* 8 8 */ struct fib_info * fa_info; /* 16 4 */ u8 fa_tos; /* 20 1 */ u8 fa_type; /* 21 1 */ u8 fa_scope; /* 22 1 */ u8 fa_state; /* 23 1 */ /* size: 24, cachelines: 1 */ /* last cacheline: 24 bytes */ }; /* definitions: 2 */ struct fib_table { struct hlist_node tb_hlist; /* 0 8 */ u32 tb_id; /* 8 4 */ unsigned int tb_stamp; /* 12 4 */ int (*tb_lookup)(struct fib_table *, const struct flowi *, struct fib_result *); /* 16 4 */ int (*tb_insert)(struct fib_table *, struct fib_config *); /* 20 4 */ int (*tb_delete)(struct fib_table *, struct fib_config *); /* 24 4 */ int (*tb_dump)(struct fib_table *, struct sk_buff *, struct netlink_callback *); /* 28 4 */ int (*tb_flush)(struct fib_table *); /* 32 4 */ void (*tb_select_default)(struct fib_table *, const struct flowi *, struct fib_result *); /* 36 4 */ unsigned char tb_data[0]; /* 40 0 */ /* size: 40, cachelines: 1 */ /* last cacheline: 40 bytes */ }; /* definitions: 3 */ struct fib_result_nl { __be32 fl_addr; /* 0 4 */ u32 fl_mark; /* 4 4 */ unsigned char fl_tos; /* 8 1 */ unsigned char fl_scope; /* 9 1 */ unsigned char tb_id_in; /* 10 1 */ unsigned char tb_id; /* 11 1 */ unsigned char prefixlen; /* 12 1 */ unsigned char nh_sel; /* 13 1 */ unsigned char type; /* 14 1 */ unsigned char scope; /* 15 1 */ int err; /* 16 4 */ /* size: 20, cachelines: 1 */ /* last cacheline: 20 bytes */ }; /* definitions: 1 */ struct fib_config { u8 fc_dst_len; /* 0 1 */ u8 fc_tos; /* 1 1 */ u8 fc_protocol; /* 2 1 */ u8 fc_scope; /* 3 1 */ u8 fc_type; /* 4 1 */ /* XXX 3 bytes hole, try to pack */ u32 fc_table; /* 8 4 */ __be32 fc_dst; /* 12 4 */ __be32 fc_gw; /* 16 4 */ int fc_oif; /* 20 4 */ u32 fc_flags; /* 24 4 */ u32 fc_priority; /* 28 4 */ __be32 fc_prefsrc; /* 32 4 */ struct nlattr * fc_mx; /* 36 4 */ struct rtnexthop * fc_mp; /* 40 4 */ int fc_mx_len; /* 44 4 */ int fc_mp_len; /* 48 4 */ u32 fc_flow; /* 52 4 */ u32 fc_mp_alg; /* 56 4 */ u32 fc_nlflags; /* 60 4 */ /* --- cacheline 1 boundary (64 bytes) --- */ struct nl_info fc_nlinfo; /* 64 8 */ /* size: 72, cachelines: 2 */ /* sum members: 69, holes: 1, sum holes: 3 */ /* last cacheline: 8 bytes */ }; /* definitions: 4 */ struct nl_info { struct nlmsghdr * nlh; /* 0 4 */ u32 pid; /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 4 */ struct rtentry { long unsigned int rt_pad1; /* 0 4 */ struct sockaddr rt_dst; /* 4 16 */ struct sockaddr rt_gateway; /* 20 16 */ struct sockaddr rt_genmask; /* 36 16 */ short unsigned int rt_flags; /* 52 2 */ short int rt_pad2; /* 54 2 */ long unsigned int rt_pad3; /* 56 4 */ void * rt_pad4; /* 60 4 */ /* --- cacheline 1 boundary (64 bytes) --- */ short int rt_metric; /* 64 2 */ /* XXX 2 bytes hole, try to pack */ char * rt_dev; /* 68 4 */ long unsigned int rt_mtu; /* 72 4 */ long unsigned int rt_window; /* 76 4 */ short unsigned int rt_irtt; /* 80 2 */ /* size: 84, cachelines: 2 */ /* sum members: 80, holes: 1, sum holes: 2 */ /* padding: 2 */ /* last cacheline: 20 bytes */ }; /* definitions: 1 */ struct rtnexthop { short unsigned int rtnh_len; /* 0 2 */ unsigned char rtnh_flags; /* 2 1 */ unsigned char rtnh_hops; /* 3 1 */ int rtnh_ifindex; /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 5 */ struct igmp_mcf_iter_state { struct net_device * dev; /* 0 4 */ struct in_device * idev; /* 4 4 */ struct ip_mc_list * im; /* 8 4 */ /* size: 12, cachelines: 1 */ /* last cacheline: 12 bytes */ }; /* definitions: 1 */ struct igmp_mc_iter_state { struct net_device * dev; /* 0 4 */ struct in_device * in_dev; /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ struct igmpv3_query { __u8 type; /* 0 1 */ __u8 code; /* 1 1 */ __be16 csum; /* 2 2 */ __be32 group; /* 4 4 */ __u8 qrv:3; /* 8 1 */ __u8 suppress:1; /* 8 1 */ __u8 resv:4; /* 8 1 */ __u8 qqic; /* 9 1 */ __be16 nsrcs; /* 10 2 */ __be32 srcs[0]; /* 12 0 */ /* size: 12, cachelines: 1 */ /* last cacheline: 12 bytes */ }; /* definitions: 1 */ struct igmpv3_report { __u8 type; /* 0 1 */ __u8 resv1; /* 1 1 */ __be16 csum; /* 2 2 */ __be16 resv2; /* 4 2 */ __be16 ngrec; /* 6 2 */ struct igmpv3_grec grec[0]; /* 8 0 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ struct igmpv3_grec { __u8 grec_type; /* 0 1 */ __u8 grec_auxwords; /* 1 1 */ __be16 grec_nsrcs; /* 2 2 */ __be32 grec_mca; /* 4 4 */ __be32 grec_src[0]; /* 8 0 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ struct devinet_sysctl_table { struct ctl_table_header * sysctl_header; /* 0 4 */ ctl_table devinet_vars[22]; /* 4 968 */ /* --- cacheline 15 boundary (960 bytes) was 12 bytes ago --- */ ctl_table devinet_dev[2]; /* 972 88 */ /* --- cacheline 16 boundary (1024 bytes) was 36 bytes ago --- */ ctl_table devinet_conf_dir[2]; /* 1060 88 */ /* --- cacheline 17 boundary (1088 bytes) was 60 bytes ago --- */ ctl_table devinet_proto_dir[2]; /* 1148 88 */ /* --- cacheline 19 boundary (1216 bytes) was 20 bytes ago --- */ ctl_table devinet_root_dir[2]; /* 1236 88 */ /* --- cacheline 20 boundary (1280 bytes) was 44 bytes ago --- */ /* size: 1324, cachelines: 21 */ /* last cacheline: 44 bytes */ }; /* definitions: 1 */ struct ifaddrmsg { __u8 ifa_family; /* 0 1 */ __u8 ifa_prefixlen; /* 1 1 */ __u8 ifa_flags; /* 2 1 */ __u8 ifa_scope; /* 3 1 */ __u32 ifa_index; /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ struct icmp_control { int output_entry; /* 0 4 */ int input_entry; /* 4 4 */ void (*handler)(struct sk_buff *); /* 8 4 */ short int error; /* 12 2 */ /* size: 16, cachelines: 1 */ /* padding: 2 */ /* last cacheline: 16 bytes */ }; /* definitions: 1 */ struct icmp_bxm { struct sk_buff * skb; /* 0 4 */ int offset; /* 4 4 */ int data_len; /* 8 4 */ struct { struct icmphdr icmph; /* 12 8 */ __be32 times[3]; /* 20 12 */ } data; /* 12 20 */ int head_len; /* 32 4 */ struct ip_options replyopts; /* 36 12 */ unsigned char optbuf[40]; /* 48 40 */ /* --- cacheline 1 boundary (64 bytes) was 24 bytes ago --- */ /* size: 88, cachelines: 2 */ /* last cacheline: 24 bytes */ }; /* definitions: 1 */ struct arpreq { struct sockaddr arp_pa; /* 0 16 */ struct sockaddr arp_ha; /* 16 16 */ int arp_flags; /* 32 4 */ struct sockaddr arp_netmask; /* 36 16 */ char arp_dev[16]; /* 52 16 */ /* --- cacheline 1 boundary (64 bytes) was 4 bytes ago --- */ /* size: 68, cachelines: 2 */ /* last cacheline: 4 bytes */ }; /* definitions: 1 */ struct inet_protosw { struct list_head list; /* 0 8 */ short unsigned int type; /* 8 2 */ short unsigned int protocol; /* 10 2 */ struct proto * prot; /* 12 4 */ const struct proto_ops * ops; /* 16 4 */ int capability; /* 20 4 */ char no_check; /* 24 1 */ unsigned char flags; /* 25 1 */ /* size: 28, cachelines: 1 */ /* padding: 2 */ /* last cacheline: 28 bytes */ }; /* definitions: 2 */ struct udp_iter_state { sa_family_t family; /* 0 2 */ /* XXX 2 bytes hole, try to pack */ struct hlist_head * hashtable; /* 4 4 */ int bucket; /* 8 4 */ struct seq_operations seq_ops; /* 12 16 */ /* size: 28, cachelines: 1 */ /* sum members: 26, holes: 1, sum holes: 2 */ /* last cacheline: 28 bytes */ }; /* definitions: 1 */ struct udp_seq_afinfo { struct module * owner; /* 0 4 */ char * name; /* 4 4 */ sa_family_t family; /* 8 2 */ /* XXX 2 bytes hole, try to pack */ struct hlist_head * hashtable; /* 12 4 */ int (*seq_show)(struct seq_file *, void *); /* 16 4 */ struct file_operations * seq_fops; /* 20 4 */ /* size: 24, cachelines: 1 */ /* sum members: 22, holes: 1, sum holes: 2 */ /* last cacheline: 24 bytes */ }; /* definitions: 2 */ struct udp_sock { struct inet_sock inet; /* 0 728 */ /* --- cacheline 11 boundary (704 bytes) was 24 bytes ago --- */ int pending; /* 728 4 */ unsigned int corkflag; /* 732 4 */ __u16 encap_type; /* 736 2 */ __u16 len; /* 738 2 */ __u16 pcslen; /* 740 2 */ __u16 pcrlen; /* 742 2 */ __u8 pcflag; /* 744 1 */ /* size: 748, cachelines: 12 */ /* padding: 3 */ /* last cacheline: 44 bytes */ }; /* definitions: 2 */ struct udp_mib { long unsigned int mibs[7]; /* 0 28 */ /* size: 128, cachelines: 2 */ /* padding: 100 */ }; /* definitions: 4 */ struct raw_iter_state { int bucket; /* 0 4 */ /* size: 4, cachelines: 1 */ /* last cacheline: 4 bytes */ }; /* definitions: 1 */ struct raw_sock { struct inet_sock inet; /* 0 728 */ /* --- cacheline 11 boundary (704 bytes) was 24 bytes ago --- */ struct icmp_filter filter; /* 728 4 */ /* size: 732, cachelines: 12 */ /* last cacheline: 28 bytes */ }; /* definitions: 1 */ struct icmp_filter { __u32 data; /* 0 4 */ /* size: 4, cachelines: 1 */ /* last cacheline: 4 bytes */ }; /* definitions: 1 */ struct inet6_timewait_sock { struct in6_addr tw_v6_daddr; /* 0 16 */ struct in6_addr tw_v6_rcv_saddr; /* 16 16 */ /* size: 32, cachelines: 1 */ /* last cacheline: 32 bytes */ }; /* definitions: 2 */ struct tcp_iter_state { sa_family_t family; /* 0 2 */ /* XXX 2 bytes hole, try to pack */ enum tcp_seq_states state; /* 4 4 */ struct sock * syn_wait_sk; /* 8 4 */ int bucket; /* 12 4 */ int sbucket; /* 16 4 */ int num; /* 20 4 */ int uid; /* 24 4 */ struct seq_operations seq_ops; /* 28 16 */ /* size: 44, cachelines: 1 */ /* sum members: 42, holes: 1, sum holes: 2 */ /* last cacheline: 44 bytes */ }; /* definitions: 1 */ struct tcp_seq_afinfo { struct module * owner; /* 0 4 */ char * name; /* 4 4 */ sa_family_t family; /* 8 2 */ /* XXX 2 bytes hole, try to pack */ int (*seq_show)(struct seq_file *, void *); /* 12 4 */ struct file_operations * seq_fops; /* 16 4 */ /* size: 20, cachelines: 1 */ /* sum members: 18, holes: 1, sum holes: 2 */ /* last cacheline: 20 bytes */ }; /* definitions: 1 */ struct tcp_timewait_sock { struct inet_timewait_sock tw_sk; /* 0 76 */ /* --- cacheline 1 boundary (64 bytes) was 12 bytes ago --- */ u32 tw_rcv_nxt; /* 76 4 */ u32 tw_snd_nxt; /* 80 4 */ u32 tw_rcv_wnd; /* 84 4 */ u32 tw_ts_recent; /* 88 4 */ long int tw_ts_recent_stamp; /* 92 4 */ u16 tw_md5_keylen; /* 96 2 */ u8 tw_md5_key[80]; /* 98 80 */ /* --- cacheline 2 boundary (128 bytes) was 50 bytes ago --- */ /* size: 180, cachelines: 3 */ /* padding: 2 */ /* last cacheline: 52 bytes */ }; /* definitions: 2 */ struct tcp_md5sig { struct __kernel_sockaddr_storage tcpm_addr; /* 0 128 */ /* --- cacheline 2 boundary (128 bytes) --- */ __u16 __tcpm_pad1; /* 128 2 */ __u16 tcpm_keylen; /* 130 2 */ __u32 __tcpm_pad2; /* 132 4 */ __u8 tcpm_key[80]; /* 136 80 */ /* --- cacheline 3 boundary (192 bytes) was 24 bytes ago --- */ /* size: 216, cachelines: 4 */ /* last cacheline: 24 bytes */ }; /* definitions: 1 */ struct icmp_err { int errno; /* 0 4 */ unsigned int fatal:1; /* 4 4 */ /* size: 8, cachelines: 1 */ /* bit_padding: 31 bits */ /* last cacheline: 8 bytes */ }; /* definitions: 4 */ struct icmp_mib { long unsigned int mibs[28]; /* 0 112 */ /* --- cacheline 1 boundary (64 bytes) was 48 bytes ago --- */ /* size: 128, cachelines: 2 */ /* padding: 16 */ }; /* definitions: 5 */ struct tcp_request_sock_ops { struct tcp_md5sig_key * (*md5_lookup)(struct sock *, struct request_sock *); /* 0 4 */ /* size: 4, cachelines: 1 */ /* last cacheline: 4 bytes */ }; /* definitions: 4 */ struct tcp_request_sock { struct inet_request_sock req; /* 0 60 */ struct tcp_request_sock_ops * af_specific; /* 60 4 */ /* --- cacheline 1 boundary (64 bytes) --- */ u32 rcv_isn; /* 64 4 */ u32 snt_isn; /* 68 4 */ /* size: 72, cachelines: 2 */ /* last cacheline: 8 bytes */ }; /* definitions: 4 */ struct tcp_md5sig_pool { struct hash_desc md5_desc; /* 0 8 */ union tcp_md5sum_block md5_blk; /* 8 40 */ /* size: 48, cachelines: 1 */ /* last cacheline: 48 bytes */ }; /* definitions: 2 */ struct tcp6_pseudohdr { struct in6_addr saddr; /* 0 16 */ struct in6_addr daddr; /* 16 16 */ __be32 len; /* 32 4 */ __be32 protocol; /* 36 4 */ /* size: 40, cachelines: 1 */ /* last cacheline: 40 bytes */ }; /* definitions: 2 */ struct tcp4_pseudohdr { __be32 saddr; /* 0 4 */ __be32 daddr; /* 4 4 */ __u8 pad; /* 8 1 */ __u8 protocol; /* 9 1 */ __be16 len; /* 10 2 */ /* size: 12, cachelines: 1 */ /* last cacheline: 12 bytes */ }; /* definitions: 2 */ struct tcp6_md5sig_key { u8 * key; /* 0 4 */ u16 keylen; /* 4 2 */ /* XXX 2 bytes hole, try to pack */ struct in6_addr addr; /* 8 16 */ /* size: 24, cachelines: 1 */ /* sum members: 22, holes: 1, sum holes: 2 */ /* last cacheline: 24 bytes */ }; /* definitions: 9 */ struct tcp4_md5sig_key { u8 * key; /* 0 4 */ u16 keylen; /* 4 2 */ /* XXX 2 bytes hole, try to pack */ __be32 addr; /* 8 4 */ /* size: 12, cachelines: 1 */ /* sum members: 10, holes: 1, sum holes: 2 */ /* last cacheline: 12 bytes */ }; /* definitions: 9 */ struct tcp_md5sig_key { u8 * key; /* 0 4 */ u8 keylen; /* 4 1 */ /* size: 8, cachelines: 1 */ /* padding: 3 */ /* last cacheline: 8 bytes */ }; /* definitions: 9 */ struct tcp_skb_cb { union { struct inet_skb_parm h4; /* 16 */ struct inet6_skb_parm h6; /* 24 */ } header; /* 0 24 */ __u32 seq; /* 24 4 */ __u32 end_seq; /* 28 4 */ __u32 when; /* 32 4 */ __u8 flags; /* 36 1 */ __u8 sacked; /* 37 1 */ __u16 urg_ptr; /* 38 2 */ __u32 ack_seq; /* 40 4 */ /* size: 44, cachelines: 1 */ /* last cacheline: 44 bytes */ }; /* definitions: 3 */ struct tcp_md5sig_info { struct tcp4_md5sig_key * keys4; /* 0 4 */ struct tcp6_md5sig_key * keys6; /* 4 4 */ u32 entries6; /* 8 4 */ u32 alloced6; /* 12 4 */ u32 entries4; /* 16 4 */ u32 alloced4; /* 20 4 */ /* size: 24, cachelines: 1 */ /* last cacheline: 24 bytes */ }; /* definitions: 9 */ struct tcp_sock_af_ops { struct tcp_md5sig_key * (*md5_lookup)(struct sock *, struct sock *); /* 0 4 */ int (*calc_md5_hash)(char *, struct tcp_md5sig_key *, struct sock *, struct dst_entry *, struct request_sock *, struct tcphdr *, int, int); /* 4 4 */ int (*md5_add)(struct sock *, struct sock *, u8 *, u8); /* 8 4 */ int (*md5_parse)(struct sock *, char *, int); /* 12 4 */ /* size: 16, cachelines: 1 */ /* last cacheline: 16 bytes */ }; /* definitions: 9 */ struct tcp_sock { struct inet_connection_sock inet_conn; /* 0 1012 */ /* --- cacheline 15 boundary (960 bytes) was 52 bytes ago --- */ u16 tcp_header_len; /* 1012 2 */ u16 xmit_size_goal; /* 1014 2 */ __be32 pred_flags; /* 1016 4 */ u32 rcv_nxt; /* 1020 4 */ /* --- cacheline 16 boundary (1024 bytes) --- */ u32 snd_nxt; /* 1024 4 */ u32 snd_una; /* 1028 4 */ u32 snd_sml; /* 1032 4 */ u32 rcv_tstamp; /* 1036 4 */ u32 lsndtime; /* 1040 4 */ struct { struct sk_buff_head prequeue; /* 1044 44 */ struct task_struct * task; /* 1088 4 */ struct iovec * iov; /* 1092 4 */ int memory; /* 1096 4 */ int len; /* 1100 4 */ struct dma_chan * dma_chan; /* 1104 4 */ /* --- cacheline 1 boundary (64 bytes) --- */ int wakeup; /* 1108 4 */ struct dma_pinned_list * pinned_list; /* 1112 4 */ dma_cookie_t dma_cookie; /* 1116 4 */ } ucopy; /* 1044 76 */ /* --- cacheline 17 boundary (1088 bytes) was 32 bytes ago --- */ u32 snd_wl1; /* 1120 4 */ u32 snd_wnd; /* 1124 4 */ u32 max_window; /* 1128 4 */ u32 mss_cache; /* 1132 4 */ u32 window_clamp; /* 1136 4 */ u32 rcv_ssthresh; /* 1140 4 */ u32 frto_highmark; /* 1144 4 */ u8 reordering; /* 1148 1 */ u8 frto_counter; /* 1149 1 */ u8 nonagle; /* 1150 1 */ u8 keepalive_probes; /* 1151 1 */ /* --- cacheline 18 boundary (1152 bytes) --- */ u32 srtt; /* 1152 4 */ u32 mdev; /* 1156 4 */ u32 mdev_max; /* 1160 4 */ u32 rttvar; /* 1164 4 */ u32 rtt_seq; /* 1168 4 */ u32 packets_out; /* 1172 4 */ u32 left_out; /* 1176 4 */ u32 retrans_out; /* 1180 4 */ struct tcp_options_received rx_opt; /* 1184 24 */ u32 snd_ssthresh; /* 1208 4 */ u32 snd_cwnd; /* 1212 4 */ /* --- cacheline 19 boundary (1216 bytes) --- */ u16 snd_cwnd_cnt; /* 1216 2 */ u16 snd_cwnd_clamp; /* 1218 2 */ u32 snd_cwnd_used; /* 1220 4 */ u32 snd_cwnd_stamp; /* 1224 4 */ struct sk_buff_head out_of_order_queue; /* 1228 44 */ u32 rcv_wnd; /* 1272 4 */ u32 rcv_wup; /* 1276 4 */ /* --- cacheline 20 boundary (1280 bytes) --- */ u32 write_seq; /* 1280 4 */ u32 pushed_seq; /* 1284 4 */ u32 copied_seq; /* 1288 4 */ struct tcp_sack_block duplicate_sack[1]; /* 1292 8 */ struct tcp_sack_block selective_acks[4]; /* 1300 32 */ struct tcp_sack_block_wire recv_sack_cache[4]; /* 1332 32 */ /* --- cacheline 21 boundary (1344 bytes) was 20 bytes ago --- */ struct sk_buff * lost_skb_hint; /* 1364 4 */ struct sk_buff * scoreboard_skb_hint; /* 1368 4 */ struct sk_buff * retransmit_skb_hint; /* 1372 4 */ struct sk_buff * forward_skb_hint; /* 1376 4 */ struct sk_buff * fastpath_skb_hint; /* 1380 4 */ int fastpath_cnt_hint; /* 1384 4 */ int lost_cnt_hint; /* 1388 4 */ int retransmit_cnt_hint; /* 1392 4 */ int forward_cnt_hint; /* 1396 4 */ u16 advmss; /* 1400 2 */ u16 prior_ssthresh; /* 1402 2 */ u32 lost_out; /* 1404 4 */ /* --- cacheline 22 boundary (1408 bytes) --- */ u32 sacked_out; /* 1408 4 */ u32 fackets_out; /* 1412 4 */ u32 high_seq; /* 1416 4 */ u32 retrans_stamp; /* 1420 4 */ u32 undo_marker; /* 1424 4 */ int undo_retrans; /* 1428 4 */ u32 urg_seq; /* 1432 4 */ u16 urg_data; /* 1436 2 */ u8 urg_mode; /* 1438 1 */ u8 ecn_flags; /* 1439 1 */ u32 snd_up; /* 1440 4 */ u32 total_retrans; /* 1444 4 */ u32 bytes_acked; /* 1448 4 */ unsigned int keepalive_time; /* 1452 4 */ unsigned int keepalive_intvl; /* 1456 4 */ int linger2; /* 1460 4 */ long unsigned int last_synq_overflow; /* 1464 4 */ u32 tso_deferred; /* 1468 4 */ /* --- cacheline 23 boundary (1472 bytes) --- */ struct { u32 rtt; /* 1472 4 */ u32 seq; /* 1476 4 */ u32 time; /* 1480 4 */ } rcv_rtt_est; /* 1472 12 */ struct { int space; /* 1484 4 */ u32 seq; /* 1488 4 */ u32 time; /* 1492 4 */ } rcvq_space; /* 1484 12 */ struct { u32 probe_seq_start; /* 1496 4 */ u32 probe_seq_end; /* 1500 4 */ } mtu_probe; /* 1496 8 */ struct tcp_sock_af_ops * af_specific; /* 1504 4 */ struct tcp_md5sig_info * md5sig_info; /* 1508 4 */ /* size: 1512, cachelines: 24 */ /* last cacheline: 40 bytes */ }; /* definitions: 9 */ struct tcp_options_received { long int ts_recent_stamp; /* 0 4 */ u32 ts_recent; /* 4 4 */ u32 rcv_tsval; /* 8 4 */ u32 rcv_tsecr; /* 12 4 */ u16 saw_tstamp:1; /* 16 2 */ u16 tstamp_ok:1; /* 16 2 */ u16 dsack:1; /* 16 2 */ u16 wscale_ok:1; /* 16 2 */ u16 sack_ok:4; /* 16 2 */ u16 snd_wscale:4; /* 16 2 */ u16 rcv_wscale:4; /* 16 2 */ u8 eff_sacks; /* 18 1 */ u8 num_sacks; /* 19 1 */ u16 user_mss; /* 20 2 */ u16 mss_clamp; /* 22 2 */ /* size: 24, cachelines: 1 */ /* last cacheline: 24 bytes */ }; /* definitions: 9 */ struct tcp_sack_block { u32 start_seq; /* 0 4 */ u32 end_seq; /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 9 */ struct tcp_sack_block_wire { __be32 start_seq; /* 0 4 */ __be32 end_seq; /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 9 */ struct tcp_congestion_ops { struct list_head list; /* 0 8 */ int non_restricted; /* 8 4 */ void (*init)(struct sock *); /* 12 4 */ void (*release)(struct sock *); /* 16 4 */ u32 (*ssthresh)(struct sock *); /* 20 4 */ u32 (*min_cwnd)(const struct sock *); /* 24 4 */ void (*cong_avoid)(struct sock *, u32, u32, u32, int); /* 28 4 */ void (*rtt_sample)(struct sock *, u32); /* 32 4 */ void (*set_state)(struct sock *, u8); /* 36 4 */ void (*cwnd_event)(struct sock *, enum tcp_ca_event); /* 40 4 */ u32 (*undo_cwnd)(struct sock *); /* 44 4 */ void (*pkts_acked)(struct sock *, u32); /* 48 4 */ void (*get_info)(struct sock *, u32, struct sk_buff *); /* 52 4 */ char name[16]; /* 56 16 */ /* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ struct module * owner; /* 72 4 */ /* size: 76, cachelines: 2 */ /* last cacheline: 12 bytes */ }; /* definitions: 10 */ struct tcp_info { __u8 tcpi_state; /* 0 1 */ __u8 tcpi_ca_state; /* 1 1 */ __u8 tcpi_retransmits; /* 2 1 */ __u8 tcpi_probes; /* 3 1 */ __u8 tcpi_backoff; /* 4 1 */ __u8 tcpi_options; /* 5 1 */ __u8 tcpi_snd_wscale:4; /* 6 1 */ __u8 tcpi_rcv_wscale:4; /* 6 1 */ /* XXX 1 byte hole, try to pack */ __u32 tcpi_rto; /* 8 4 */ __u32 tcpi_ato; /* 12 4 */ __u32 tcpi_snd_mss; /* 16 4 */ __u32 tcpi_rcv_mss; /* 20 4 */ __u32 tcpi_unacked; /* 24 4 */ __u32 tcpi_sacked; /* 28 4 */ __u32 tcpi_lost; /* 32 4 */ __u32 tcpi_retrans; /* 36 4 */ __u32 tcpi_fackets; /* 40 4 */ __u32 tcpi_last_data_sent; /* 44 4 */ __u32 tcpi_last_ack_sent; /* 48 4 */ __u32 tcpi_last_data_recv; /* 52 4 */ __u32 tcpi_last_ack_recv; /* 56 4 */ __u32 tcpi_pmtu; /* 60 4 */ /* --- cacheline 1 boundary (64 bytes) --- */ __u32 tcpi_rcv_ssthresh; /* 64 4 */ __u32 tcpi_rtt; /* 68 4 */ __u32 tcpi_rttvar; /* 72 4 */ __u32 tcpi_snd_ssthresh; /* 76 4 */ __u32 tcpi_snd_cwnd; /* 80 4 */ __u32 tcpi_advmss; /* 84 4 */ __u32 tcpi_reordering; /* 88 4 */ __u32 tcpi_rcv_rtt; /* 92 4 */ __u32 tcpi_rcv_space; /* 96 4 */ __u32 tcpi_total_retrans; /* 100 4 */ /* size: 104, cachelines: 2 */ /* sum members: 103, holes: 1, sum holes: 1 */ /* last cacheline: 40 bytes */ }; /* definitions: 1 */ struct inet_request_sock { struct request_sock req; /* 0 40 */ u16 inet6_rsk_offset; /* 40 2 */ /* XXX 2 bytes hole, try to pack */ __be32 loc_addr; /* 44 4 */ __be32 rmt_addr; /* 48 4 */ __be16 rmt_port; /* 52 2 */ u16 snd_wscale:4; /* 54 2 */ u16 rcv_wscale:4; /* 54 2 */ u16 tstamp_ok:1; /* 54 2 */ u16 sack_ok:1; /* 54 2 */ u16 wscale_ok:1; /* 54 2 */ u16 ecn_ok:1; /* 54 2 */ u16 acked:1; /* 54 2 */ /* XXX 3 bits hole, try to pack */ struct ip_options * opt; /* 56 4 */ /* size: 60, cachelines: 1 */ /* sum members: 58, holes: 1, sum holes: 2 */ /* bit holes: 1, sum bit holes: 3 bits */ /* last cacheline: 60 bytes */ }; /* definitions: 5 */ struct inet_timewait_sock { struct sock_common __tw_common; /* 0 36 */ volatile unsigned char tw_substate; /* 36 1 */ unsigned char tw_rcv_wscale; /* 37 1 */ __be16 tw_sport; /* 38 2 */ __be32 tw_daddr; /* 40 4 */ __be32 tw_rcv_saddr; /* 44 4 */ __be16 tw_dport; /* 48 2 */ __u16 tw_num; /* 50 2 */ __u8 tw_ipv6only:1; /* 52 1 */ /* XXX 7 bits hole, try to pack */ /* XXX 1 byte hole, try to pack */ __u16 tw_ipv6_offset; /* 54 2 */ int tw_timeout; /* 56 4 */ long unsigned int tw_ttd; /* 60 4 */ /* --- cacheline 1 boundary (64 bytes) --- */ struct inet_bind_bucket * tw_tb; /* 64 4 */ struct hlist_node tw_death_node; /* 68 8 */ /* size: 76, cachelines: 2 */ /* sum members: 75, holes: 1, sum holes: 1 */ /* bit holes: 1, sum bit holes: 7 bits */ /* last cacheline: 12 bytes */ }; /* definitions: 6 */ struct inet_timewait_death_row { int twcal_hand; /* 0 4 */ long unsigned int twcal_jiffie; /* 4 4 */ struct timer_list twcal_timer; /* 8 48 */ struct hlist_head twcal_row[32]; /* 56 128 */ /* --- cacheline 2 boundary (128 bytes) was 56 bytes ago --- */ spinlock_t death_lock; /* 184 32 */ /* --- cacheline 3 boundary (192 bytes) was 24 bytes ago --- */ int tw_count; /* 216 4 */ int period; /* 220 4 */ u32 thread_slots; /* 224 4 */ struct work_struct twkill_work; /* 228 16 */ struct timer_list tw_timer; /* 244 48 */ /* --- cacheline 4 boundary (256 bytes) was 36 bytes ago --- */ int slot; /* 292 4 */ struct hlist_head cells[8]; /* 296 32 */ /* --- cacheline 5 boundary (320 bytes) was 8 bytes ago --- */ struct inet_hashinfo * hashinfo; /* 328 4 */ int sysctl_tw_recycle; /* 332 4 */ int sysctl_max_tw_buckets; /* 336 4 */ /* size: 340, cachelines: 6 */ /* last cacheline: 20 bytes */ }; /* definitions: 8 */ struct inet_bind_bucket { short unsigned int port; /* 0 2 */ short int fastreuse; /* 2 2 */ struct hlist_node node; /* 4 8 */ struct hlist_head owners; /* 12 4 */ /* size: 16, cachelines: 1 */ /* last cacheline: 16 bytes */ }; /* definitions: 14 */ struct sock_exterr_skb { union { struct inet_skb_parm h4; /* 16 */ struct inet6_skb_parm h6; /* 24 */ } header; /* 0 24 */ struct sock_extended_err ee; /* 24 16 */ u16 addr_offset; /* 40 2 */ __be16 port; /* 42 2 */ /* size: 44, cachelines: 1 */ /* last cacheline: 44 bytes */ }; /* definitions: 1 */ struct sock_extended_err { __u32 ee_errno; /* 0 4 */ __u8 ee_origin; /* 4 1 */ __u8 ee_type; /* 5 1 */ __u8 ee_code; /* 6 1 */ __u8 ee_pad; /* 7 1 */ __u32 ee_info; /* 8 4 */ __u32 ee_data; /* 12 4 */ /* size: 16, cachelines: 1 */ /* last cacheline: 16 bytes */ }; /* definitions: 1 */ struct inet6_skb_parm { int iif; /* 0 4 */ __u16 ra; /* 4 2 */ __u16 hop; /* 6 2 */ __u16 dst0; /* 8 2 */ __u16 srcrt; /* 10 2 */ __u16 dst1; /* 12 2 */ __u16 lastopt; /* 14 2 */ __u32 nhoff; /* 16 4 */ __u16 flags; /* 20 2 */ /* size: 24, cachelines: 1 */ /* padding: 2 */ /* last cacheline: 24 bytes */ }; /* definitions: 4 */ struct inet_connection_sock { struct inet_sock icsk_inet; /* 0 728 */ /* --- cacheline 11 boundary (704 bytes) was 24 bytes ago --- */ struct request_sock_queue icsk_accept_queue; /* 728 52 */ /* --- cacheline 12 boundary (768 bytes) was 12 bytes ago --- */ struct inet_bind_bucket * icsk_bind_hash; /* 780 4 */ long unsigned int icsk_timeout; /* 784 4 */ struct timer_list icsk_retransmit_timer; /* 788 48 */ /* --- cacheline 13 boundary (832 bytes) was 4 bytes ago --- */ struct timer_list icsk_delack_timer; /* 836 48 */ __u32 icsk_rto; /* 884 4 */ __u32 icsk_pmtu_cookie; /* 888 4 */ const struct tcp_congestion_ops * icsk_ca_ops; /* 892 4 */ /* --- cacheline 14 boundary (896 bytes) --- */ const struct inet_connection_sock_af_ops * icsk_af_ops; /* 896 4 */ unsigned int (*icsk_sync_mss)(struct sock *, u32); /* 900 4 */ __u8 icsk_ca_state; /* 904 1 */ __u8 icsk_retransmits; /* 905 1 */ __u8 icsk_pending; /* 906 1 */ __u8 icsk_backoff; /* 907 1 */ __u8 icsk_syn_retries; /* 908 1 */ __u8 icsk_probes_out; /* 909 1 */ __u16 icsk_ext_hdr_len; /* 910 2 */ struct { __u8 pending; /* 912 1 */ __u8 quick; /* 913 1 */ __u8 pingpong; /* 914 1 */ __u8 blocked; /* 915 1 */ __u32 ato; /* 916 4 */ long unsigned int timeout; /* 920 4 */ __u32 lrcvtime; /* 924 4 */ __u16 last_seg_size; /* 928 2 */ __u16 rcv_mss; /* 930 2 */ } icsk_ack; /* 912 20 */ struct { int enabled; /* 932 4 */ int search_high; /* 936 4 */ int search_low; /* 940 4 */ int probe_size; /* 944 4 */ } icsk_mtup; /* 932 16 */ u32 icsk_ca_priv[16]; /* 948 64 */ /* --- cacheline 15 boundary (960 bytes) was 52 bytes ago --- */ /* size: 1012, cachelines: 16 */ /* last cacheline: 52 bytes */ }; /* definitions: 15 */ struct inet_connection_sock_af_ops { int (*queue_xmit)(struct sk_buff *, int); /* 0 4 */ void (*send_check)(struct sock *, int, struct sk_buff *); /* 4 4 */ int (*rebuild_header)(struct sock *); /* 8 4 */ int (*conn_request)(struct sock *, struct sk_buff *); /* 12 4 */ struct sock * (*syn_recv_sock)(struct sock *, struct sk_buff *, struct request_sock *, struct dst_entry *); /* 16 4 */ int (*remember_stamp)(struct sock *); /* 20 4 */ u16 net_header_len; /* 24 2 */ u16 sockaddr_len; /* 26 2 */ int (*setsockopt)(struct sock *, int, int, char *, int); /* 28 4 */ int (*getsockopt)(struct sock *, int, int, char *, int *); /* 32 4 */ int (*compat_setsockopt)(struct sock *, int, int, char *, int); /* 36 4 */ int (*compat_getsockopt)(struct sock *, int, int, char *, int *); /* 40 4 */ void (*addr2sockaddr)(struct sock *, struct sockaddr *); /* 44 4 */ /* size: 48, cachelines: 1 */ /* last cacheline: 48 bytes */ }; /* definitions: 15 */ struct inet_skb_parm { struct ip_options opt; /* 0 12 */ unsigned char flags; /* 12 1 */ /* size: 16, cachelines: 1 */ /* padding: 3 */ /* last cacheline: 16 bytes */ }; /* definitions: 4 */ struct in_pktinfo { int ipi_ifindex; /* 0 4 */ struct in_addr ipi_spec_dst; /* 4 4 */ struct in_addr ipi_addr; /* 8 4 */ /* size: 12, cachelines: 1 */ /* last cacheline: 12 bytes */ }; /* definitions: 1 */ struct group_filter { __u32 gf_interface; /* 0 4 */ struct __kernel_sockaddr_storage gf_group; /* 4 128 */ /* --- cacheline 2 boundary (128 bytes) was 4 bytes ago --- */ __u32 gf_fmode; /* 132 4 */ __u32 gf_numsrc; /* 136 4 */ struct __kernel_sockaddr_storage gf_slist[1]; /* 140 128 */ /* --- cacheline 4 boundary (256 bytes) was 12 bytes ago --- */ /* size: 268, cachelines: 5 */ /* last cacheline: 12 bytes */ }; /* definitions: 2 */ struct group_source_req { __u32 gsr_interface; /* 0 4 */ struct __kernel_sockaddr_storage gsr_group; /* 4 128 */ /* --- cacheline 2 boundary (128 bytes) was 4 bytes ago --- */ struct __kernel_sockaddr_storage gsr_source; /* 132 128 */ /* --- cacheline 4 boundary (256 bytes) was 4 bytes ago --- */ /* size: 260, cachelines: 5 */ /* last cacheline: 4 bytes */ }; /* definitions: 1 */ struct group_req { __u32 gr_interface; /* 0 4 */ struct __kernel_sockaddr_storage gr_group; /* 4 128 */ /* --- cacheline 2 boundary (128 bytes) was 4 bytes ago --- */ /* size: 132, cachelines: 3 */ /* last cacheline: 4 bytes */ }; /* definitions: 1 */ struct ip_msfilter { __be32 imsf_multiaddr; /* 0 4 */ __be32 imsf_interface; /* 4 4 */ __u32 imsf_fmode; /* 8 4 */ __u32 imsf_numsrc; /* 12 4 */ __be32 imsf_slist[1]; /* 16 4 */ /* size: 20, cachelines: 1 */ /* last cacheline: 20 bytes */ }; /* definitions: 2 */ struct ip_mreq_source { __be32 imr_multiaddr; /* 0 4 */ __be32 imr_interface; /* 4 4 */ __be32 imr_sourceaddr; /* 8 4 */ /* size: 12, cachelines: 1 */ /* last cacheline: 12 bytes */ }; /* definitions: 2 */ struct __kernel_sockaddr_storage { short unsigned int ss_family; /* 0 2 */ char __data[126]; /* 2 126 */ /* --- cacheline 2 boundary (128 bytes) --- */ /* size: 128, cachelines: 2 */ }; /* definitions: 3 */ struct ip_sf_socklist { unsigned int sl_max; /* 0 4 */ unsigned int sl_count; /* 4 4 */ __be32 sl_addr[0]; /* 8 0 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 6 */ struct ip_reply_arg { struct kvec iov[1]; /* 0 8 */ __wsum csum; /* 8 4 */ int csumoffset; /* 12 4 */ /* size: 16, cachelines: 1 */ /* last cacheline: 16 bytes */ }; /* definitions: 2 */ struct ipcm_cookie { __be32 addr; /* 0 4 */ int oif; /* 4 4 */ struct ip_options * opt; /* 8 4 */ /* size: 12, cachelines: 1 */ /* last cacheline: 12 bytes */ }; /* definitions: 5 */ struct ip_mc_socklist { struct ip_mc_socklist * next; /* 0 4 */ struct ip_mreqn multi; /* 4 12 */ unsigned int sfmode; /* 16 4 */ struct ip_sf_socklist * sflist; /* 20 4 */ /* size: 24, cachelines: 1 */ /* last cacheline: 24 bytes */ }; /* definitions: 6 */ struct ip_mreqn { struct in_addr imr_multiaddr; /* 0 4 */ struct in_addr imr_address; /* 4 4 */ int imr_ifindex; /* 8 4 */ /* size: 12, cachelines: 1 */ /* last cacheline: 12 bytes */ }; /* definitions: 6 */ struct ipq { struct hlist_node list; /* 0 8 */ struct list_head lru_list; /* 8 8 */ u32 user; /* 16 4 */ __be32 saddr; /* 20 4 */ __be32 daddr; /* 24 4 */ __be16 id; /* 28 2 */ u8 protocol; /* 30 1 */ u8 last_in; /* 31 1 */ struct sk_buff * fragments; /* 32 4 */ int len; /* 36 4 */ int meat; /* 40 4 */ spinlock_t lock; /* 44 32 */ /* --- cacheline 1 boundary (64 bytes) was 12 bytes ago --- */ atomic_t refcnt; /* 76 4 */ struct timer_list timer; /* 80 48 */ /* --- cacheline 2 boundary (128 bytes) --- */ struct timeval stamp; /* 128 8 */ int iif; /* 136 4 */ unsigned int rid; /* 140 4 */ struct inet_peer * peer; /* 144 4 */ /* size: 148, cachelines: 3 */ /* last cacheline: 20 bytes */ }; /* definitions: 1 */ struct ip_ra_chain { struct ip_ra_chain * next; /* 0 4 */ struct sock * sk; /* 4 4 */ void (*destructor)(struct sock *); /* 8 4 */ /* size: 12, cachelines: 1 */ /* last cacheline: 12 bytes */ }; /* definitions: 2 */ struct net_protocol { int (*handler)(struct sk_buff *); /* 0 4 */ void (*err_handler)(struct sk_buff *, u32); /* 4 4 */ int (*gso_send_check)(struct sk_buff *); /* 8 4 */ struct sk_buff * (*gso_segment)(struct sk_buff *, int); /* 12 4 */ int no_policy; /* 16 4 */ /* size: 20, cachelines: 1 */ /* last cacheline: 20 bytes */ }; /* definitions: 6 */ struct rt_cache_iter_state { int bucket; /* 0 4 */ /* size: 4, cachelines: 1 */ /* last cacheline: 4 bytes */ }; /* definitions: 1 */ struct rt_hash_bucket { struct rtable * chain; /* 0 4 */ /* size: 4, cachelines: 1 */ /* last cacheline: 4 bytes */ }; /* definitions: 1 */ struct netevent_redirect { struct dst_entry * old; /* 0 4 */ struct dst_entry * new; /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ struct fib_result { unsigned char prefixlen; /* 0 1 */ unsigned char nh_sel; /* 1 1 */ unsigned char type; /* 2 1 */ unsigned char scope; /* 3 1 */ struct fib_info * fi; /* 4 4 */ struct fib_rule * r; /* 8 4 */ /* size: 12, cachelines: 1 */ /* last cacheline: 12 bytes */ }; /* definitions: 5 */ struct fib_info { struct hlist_node fib_hash; /* 0 8 */ struct hlist_node fib_lhash; /* 8 8 */ int fib_treeref; /* 16 4 */ atomic_t fib_clntref; /* 20 4 */ int fib_dead; /* 24 4 */ unsigned int fib_flags; /* 28 4 */ int fib_protocol; /* 32 4 */ __be32 fib_prefsrc; /* 36 4 */ u32 fib_priority; /* 40 4 */ u32 fib_metrics[12]; /* 44 48 */ /* --- cacheline 1 boundary (64 bytes) was 28 bytes ago --- */ int fib_nhs; /* 92 4 */ int fib_power; /* 96 4 */ struct fib_nh fib_nh[0]; /* 100 0 */ /* size: 100, cachelines: 2 */ /* last cacheline: 36 bytes */ }; /* definitions: 5 */ struct fib_nh { struct net_device * nh_dev; /* 0 4 */ struct hlist_node nh_hash; /* 4 8 */ struct fib_info * nh_parent; /* 12 4 */ unsigned int nh_flags; /* 16 4 */ unsigned char nh_scope; /* 20 1 */ /* XXX 3 bytes hole, try to pack */ int nh_weight; /* 24 4 */ int nh_power; /* 28 4 */ __u32 nh_tclassid; /* 32 4 */ int nh_oif; /* 36 4 */ __be32 nh_gw; /* 40 4 */ /* size: 44, cachelines: 1 */ /* sum members: 41, holes: 1, sum holes: 3 */ /* last cacheline: 44 bytes */ }; /* definitions: 5 */ struct rt_cache_stat { unsigned int in_hit; /* 0 4 */ unsigned int in_slow_tot; /* 4 4 */ unsigned int in_slow_mc; /* 8 4 */ unsigned int in_no_route; /* 12 4 */ unsigned int in_brd; /* 16 4 */ unsigned int in_martian_dst; /* 20 4 */ unsigned int in_martian_src; /* 24 4 */ unsigned int out_hit; /* 28 4 */ unsigned int out_slow_tot; /* 32 4 */ unsigned int out_slow_mc; /* 36 4 */ unsigned int gc_total; /* 40 4 */ unsigned int gc_ignored; /* 44 4 */ unsigned int gc_goal_miss; /* 48 4 */ unsigned int gc_dst_overflow; /* 52 4 */ unsigned int in_hlist_search; /* 56 4 */ unsigned int out_hlist_search; /* 60 4 */ /* --- cacheline 1 boundary (64 bytes) --- */ /* size: 64, cachelines: 1 */ }; /* definitions: 1 */ struct ip_rt_acct { __u32 o_bytes; /* 0 4 */ __u32 o_packets; /* 4 4 */ __u32 i_bytes; /* 8 4 */ __u32 i_packets; /* 12 4 */ /* size: 16, cachelines: 1 */ /* last cacheline: 16 bytes */ }; /* definitions: 2 */ struct ipv4_config { int log_martians; /* 0 4 */ int no_pmtu_disc; /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 5 */ struct ip_sf_list { struct ip_sf_list * sf_next; /* 0 4 */ __be32 sf_inaddr; /* 4 4 */ long unsigned int sf_count[2]; /* 8 8 */ unsigned char sf_gsresp; /* 16 1 */ unsigned char sf_oldin; /* 17 1 */ unsigned char sf_crcount; /* 18 1 */ /* size: 20, cachelines: 1 */ /* padding: 1 */ /* last cacheline: 20 bytes */ }; /* definitions: 7 */ struct ip_mc_list { struct in_device * interface; /* 0 4 */ __be32 multiaddr; /* 4 4 */ struct ip_sf_list * sources; /* 8 4 */ struct ip_sf_list * tomb; /* 12 4 */ unsigned int sfmode; /* 16 4 */ long unsigned int sfcount[2]; /* 20 8 */ struct ip_mc_list * next; /* 28 4 */ struct timer_list timer; /* 32 48 */ /* --- cacheline 1 boundary (64 bytes) was 16 bytes ago --- */ int users; /* 80 4 */ atomic_t refcnt; /* 84 4 */ spinlock_t lock; /* 88 32 */ char tm_running; /* 120 1 */ char reporter; /* 121 1 */ char unsolicit_count; /* 122 1 */ char loaded; /* 123 1 */ unsigned char gsquery; /* 124 1 */ unsigned char crcount; /* 125 1 */ /* size: 128, cachelines: 2 */ /* padding: 2 */ }; /* definitions: 7 */ struct rtmsg { unsigned char rtm_family; /* 0 1 */ unsigned char rtm_dst_len; /* 1 1 */ unsigned char rtm_src_len; /* 2 1 */ unsigned char rtm_tos; /* 3 1 */ unsigned char rtm_table; /* 4 1 */ unsigned char rtm_protocol; /* 5 1 */ unsigned char rtm_scope; /* 6 1 */ unsigned char rtm_type; /* 7 1 */ unsigned int rtm_flags; /* 8 4 */ /* size: 12, cachelines: 1 */ /* last cacheline: 12 bytes */ }; /* definitions: 4 */ struct igmphdr { __u8 type; /* 0 1 */ __u8 code; /* 1 1 */ __sum16 csum; /* 2 2 */ __be32 group; /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 10 */ struct ct_iter_state { unsigned int bucket; /* 0 4 */ /* size: 4, cachelines: 1 */ /* last cacheline: 4 bytes */ }; /* definitions: 1 */ struct nf_conntrack_ecache { struct nf_conn * ct; /* 0 4 */ unsigned int events; /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 9 */ struct nf_conntrack_expect { struct list_head list; /* 0 8 */ struct nf_conntrack_tuple tuple; /* 8 40 */ struct nf_conntrack_tuple mask; /* 48 40 */ /* --- cacheline 1 boundary (64 bytes) was 24 bytes ago --- */ void (*expectfn)(struct nf_conn *, struct nf_conntrack_expect *); /* 88 4 */ struct nf_conntrack_helper * helper; /* 92 4 */ struct nf_conn * master; /* 96 4 */ struct timer_list timeout; /* 100 48 */ /* --- cacheline 2 boundary (128 bytes) was 20 bytes ago --- */ atomic_t use; /* 148 4 */ unsigned int id; /* 152 4 */ unsigned int flags; /* 156 4 */ __be32 saved_ip; /* 160 4 */ union nf_conntrack_man_proto saved_proto; /* 164 2 */ /* XXX 2 bytes hole, try to pack */ enum ip_conntrack_dir dir; /* 168 4 */ /* size: 172, cachelines: 3 */ /* sum members: 170, holes: 1, sum holes: 2 */ /* last cacheline: 44 bytes */ }; /* definitions: 3 */ struct nf_conntrack_l4proto { u_int16_t l3proto; /* 0 2 */ u_int8_t l4proto; /* 2 1 */ /* XXX 1 byte hole, try to pack */ const char * name; /* 4 4 */ int (*pkt_to_tuple)(const struct sk_buff *, unsigned int, struct nf_conntrack_tuple *); /* 8 4 */ int (*invert_tuple)(struct nf_conntrack_tuple *, const struct nf_conntrack_tuple *); /* 12 4 */ int (*print_tuple)(struct seq_file *, const struct nf_conntrack_tuple *); /* 16 4 */ int (*print_conntrack)(struct seq_file *, const struct nf_conn *); /* 20 4 */ int (*packet)(struct nf_conn *, const struct sk_buff *, unsigned int, enum ip_conntrack_info, int, unsigned int); /* 24 4 */ int (*new)(struct nf_conn *, const struct sk_buff *, unsigned int); /* 28 4 */ void (*destroy)(struct nf_conn *); /* 32 4 */ int (*error)(struct sk_buff *, unsigned int, enum ip_conntrack_info *, int, unsigned int); /* 36 4 */ int (*to_nfattr)(struct sk_buff *, struct nfattr *, const struct nf_conn *); /* 40 4 */ int (*from_nfattr)(struct nfattr * *, struct nf_conn *); /* 44 4 */ int (*tuple_to_nfattr)(struct sk_buff *, const struct nf_conntrack_tuple *); /* 48 4 */ int (*nfattr_to_tuple)(struct nfattr * *, struct nf_conntrack_tuple *); /* 52 4 */ struct ctl_table_header * * ctl_table_header; /* 56 4 */ struct ctl_table * ctl_table; /* 60 4 */ /* --- cacheline 1 boundary (64 bytes) --- */ unsigned int * ctl_table_users; /* 64 4 */ struct ctl_table_header * ctl_compat_table_header; /* 68 4 */ struct ctl_table * ctl_compat_table; /* 72 4 */ struct module * me; /* 76 4 */ /* size: 80, cachelines: 2 */ /* sum members: 79, holes: 1, sum holes: 1 */ /* last cacheline: 16 bytes */ }; /* definitions: 6 */ struct nf_conntrack_l3proto { u_int16_t l3proto; /* 0 2 */ /* XXX 2 bytes hole, try to pack */ const char * name; /* 4 4 */ int (*pkt_to_tuple)(const struct sk_buff *, unsigned int, struct nf_conntrack_tuple *); /* 8 4 */ int (*invert_tuple)(struct nf_conntrack_tuple *, const struct nf_conntrack_tuple *); /* 12 4 */ int (*print_tuple)(struct seq_file *, const struct nf_conntrack_tuple *); /* 16 4 */ int (*print_conntrack)(struct seq_file *, const struct nf_conn *); /* 20 4 */ int (*packet)(struct nf_conn *, const struct sk_buff *, enum ip_conntrack_info); /* 24 4 */ int (*new)(struct nf_conn *, const struct sk_buff *); /* 28 4 */ void (*destroy)(struct nf_conn *); /* 32 4 */ int (*prepare)(struct sk_buff * *, unsigned int, unsigned int *, u_int8_t *); /* 36 4 */ u_int32_t (*get_features)(const struct nf_conntrack_tuple *); /* 40 4 */ int (*tuple_to_nfattr)(struct sk_buff *, const struct nf_conntrack_tuple *); /* 44 4 */ int (*nfattr_to_tuple)(struct nfattr * *, struct nf_conntrack_tuple *); /* 48 4 */ struct ctl_table_header * ctl_table_header; /* 52 4 */ struct ctl_table * ctl_table_path; /* 56 4 */ struct ctl_table * ctl_table; /* 60 4 */ /* --- cacheline 1 boundary (64 bytes) --- */ struct module * me; /* 64 4 */ /* size: 68, cachelines: 2 */ /* sum members: 66, holes: 1, sum holes: 2 */ /* last cacheline: 4 bytes */ }; /* definitions: 7 */ struct nf_conn { struct nf_conntrack ct_general; /* 0 8 */ struct nf_conntrack_tuple_hash tuplehash[2]; /* 8 96 */ /* --- cacheline 1 boundary (64 bytes) was 40 bytes ago --- */ long unsigned int status; /* 104 4 */ struct nf_conn * master; /* 108 4 */ struct timer_list timeout; /* 112 48 */ /* --- cacheline 2 boundary (128 bytes) was 32 bytes ago --- */ struct ip_conntrack_counter counters[2]; /* 160 16 */ unsigned int id; /* 176 4 */ u_int32_t features; /* 180 4 */ u_int32_t mark; /* 184 4 */ u_int32_t secmark; /* 188 4 */ /* --- cacheline 3 boundary (192 bytes) --- */ union nf_conntrack_proto proto; /* 192 52 */ char data[0]; /* 244 0 */ /* size: 244, cachelines: 4 */ /* last cacheline: 52 bytes */ }; /* definitions: 10 */ struct nf_conntrack_helper { struct list_head list; /* 0 8 */ const char * name; /* 8 4 */ struct module * me; /* 12 4 */ unsigned int max_expected; /* 16 4 */ unsigned int timeout; /* 20 4 */ struct nf_conntrack_tuple tuple; /* 24 40 */ /* --- cacheline 1 boundary (64 bytes) --- */ struct nf_conntrack_tuple mask; /* 64 40 */ int (*help)(struct sk_buff * *, unsigned int, struct nf_conn *, enum ip_conntrack_info); /* 104 4 */ void (*destroy)(struct nf_conn *); /* 108 4 */ int (*to_nfattr)(struct sk_buff *, const struct nf_conn *); /* 112 4 */ /* size: 116, cachelines: 2 */ /* last cacheline: 52 bytes */ }; /* definitions: 3 */ struct nf_conn_help { struct nf_conntrack_helper * helper; /* 0 4 */ union nf_conntrack_help help; /* 4 24 */ unsigned int expecting; /* 28 4 */ /* size: 32, cachelines: 1 */ /* last cacheline: 32 bytes */ }; /* definitions: 3 */ struct nf_ct_sane_master { enum sane_state state; /* 0 4 */ /* size: 4, cachelines: 1 */ /* last cacheline: 4 bytes */ }; /* definitions: 3 */ struct nf_ct_h323_master { __be16 sig_port[2]; /* 0 4 */ __be16 rtp_port[4][2]; /* 4 16 */ union { u_int32_t timeout; /* 4 */ u_int16_t tpkt_len[2]; /* 4 */ }; /* 20 4 */ /* size: 24, cachelines: 1 */ /* last cacheline: 24 bytes */ }; /* definitions: 3 */ struct nf_ct_pptp_master { enum pptp_ctrlsess_state sstate; /* 0 4 */ enum pptp_ctrlcall_state cstate; /* 4 4 */ __be16 pac_call_id; /* 8 2 */ __be16 pns_call_id; /* 10 2 */ struct nf_ct_gre_keymap * keymap[2]; /* 12 8 */ /* size: 20, cachelines: 1 */ /* last cacheline: 20 bytes */ }; /* definitions: 3 */ struct nf_ct_ftp_master { u_int32_t seq_aft_nl[2][2]; /* 0 16 */ int seq_aft_nl_num[2]; /* 16 8 */ /* size: 24, cachelines: 1 */ /* last cacheline: 24 bytes */ }; /* definitions: 3 */ struct nf_ct_icmpv6 { atomic_t count; /* 0 4 */ /* size: 4, cachelines: 1 */ /* last cacheline: 4 bytes */ }; /* definitions: 10 */ struct ip_ct_icmp { atomic_t count; /* 0 4 */ /* size: 4, cachelines: 1 */ /* last cacheline: 4 bytes */ }; /* definitions: 10 */ struct nf_ct_gre_keymap { struct list_head list; /* 0 8 */ struct nf_conntrack_tuple tuple; /* 8 40 */ /* size: 48, cachelines: 1 */ /* last cacheline: 48 bytes */ }; /* definitions: 3 */ struct nf_conntrack_tuple_hash { struct list_head list; /* 0 8 */ struct nf_conntrack_tuple tuple; /* 8 40 */ /* size: 48, cachelines: 1 */ /* last cacheline: 48 bytes */ }; /* definitions: 10 */ struct nf_conntrack_tuple { struct nf_conntrack_man src; /* 0 20 */ struct { union nf_conntrack_address u3; /* 20 16 */ union { u_int16_t all; /* 2 */ struct { __be16 port; /* 36 2 */ } tcp /* 2 */ struct { __be16 port; /* 36 2 */ } udp /* 2 */ struct { u_int8_t type; /* 36 1 */ u_int8_t code; /* 37 1 */ } icmp /* 2 */ struct { __be16 port; /* 36 2 */ } sctp /* 2 */ struct { __be16 key; /* 36 2 */ } gre /* 2 */ } u; /* 36 2 */ u_int8_t protonum; /* 38 1 */ u_int8_t dir; /* 39 1 */ } dst; /* 20 20 */ /* size: 40, cachelines: 1 */ /* last cacheline: 40 bytes */ }; /* definitions: 10 */ struct nf_conntrack_man { union nf_conntrack_address u3; /* 0 16 */ union nf_conntrack_man_proto u; /* 16 2 */ u_int16_t l3num; /* 18 2 */ /* size: 20, cachelines: 1 */ /* last cacheline: 20 bytes */ }; /* definitions: 10 */ struct nf_ct_gre { unsigned int stream_timeout; /* 0 4 */ unsigned int timeout; /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 10 */ struct ip_ct_sctp { enum sctp_conntrack state; /* 0 4 */ __be32 vtag[2]; /* 4 8 */ u_int32_t ttag[2]; /* 12 8 */ /* size: 20, cachelines: 1 */ /* last cacheline: 20 bytes */ }; /* definitions: 10 */ struct ip_ct_tcp { struct ip_ct_tcp_state seen[2]; /* 0 32 */ u_int8_t state; /* 32 1 */ u_int8_t last_dir; /* 33 1 */ u_int8_t retrans; /* 34 1 */ u_int8_t last_index; /* 35 1 */ u_int32_t last_seq; /* 36 4 */ u_int32_t last_ack; /* 40 4 */ u_int32_t last_end; /* 44 4 */ u_int16_t last_win; /* 48 2 */ /* size: 52, cachelines: 1 */ /* padding: 2 */ /* last cacheline: 52 bytes */ }; /* definitions: 10 */ struct ip_ct_tcp_state { u_int32_t td_end; /* 0 4 */ u_int32_t td_maxend; /* 4 4 */ u_int32_t td_maxwin; /* 8 4 */ u_int8_t td_scale; /* 12 1 */ u_int8_t flags; /* 13 1 */ /* size: 16, cachelines: 1 */ /* padding: 2 */ /* last cacheline: 16 bytes */ }; /* definitions: 10 */ struct ip_conntrack_stat { unsigned int searched; /* 0 4 */ unsigned int found; /* 4 4 */ unsigned int new; /* 8 4 */ unsigned int invalid; /* 12 4 */ unsigned int ignore; /* 16 4 */ unsigned int delete; /* 20 4 */ unsigned int delete_list; /* 24 4 */ unsigned int insert; /* 28 4 */ unsigned int insert_failed; /* 32 4 */ unsigned int drop; /* 36 4 */ unsigned int early_drop; /* 40 4 */ unsigned int error; /* 44 4 */ unsigned int expect_new; /* 48 4 */ unsigned int expect_create; /* 52 4 */ unsigned int expect_delete; /* 56 4 */ /* size: 60, cachelines: 1 */ /* last cacheline: 60 bytes */ }; /* definitions: 3 */ struct ip_conntrack_counter { u_int32_t packets; /* 0 4 */ u_int32_t bytes; /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 10 */ struct nf_sockopt_ops { struct list_head list; /* 0 8 */ int pf; /* 8 4 */ int set_optmin; /* 12 4 */ int set_optmax; /* 16 4 */ int (*set)(struct sock *, int, void *, unsigned int); /* 20 4 */ int (*compat_set)(struct sock *, int, void *, unsigned int); /* 24 4 */ int get_optmin; /* 28 4 */ int get_optmax; /* 32 4 */ int (*get)(struct sock *, int, void *, int *); /* 36 4 */ int (*compat_get)(struct sock *, int, void *, int *); /* 40 4 */ unsigned int use; /* 44 4 */ struct task_struct * cleanup_task; /* 48 4 */ /* size: 52, cachelines: 1 */ /* last cacheline: 52 bytes */ }; /* definitions: 1 */ struct nf_queue_handler { int (*outfn)(struct sk_buff *, struct nf_info *, unsigned int, void *); /* 0 4 */ void * data; /* 4 4 */ char * name; /* 8 4 */ /* size: 12, cachelines: 1 */ /* last cacheline: 12 bytes */ }; /* definitions: 1 */ struct nf_logger { struct module * me; /* 0 4 */ nf_logfn * logfn; /* 4 4 */ char * name; /* 8 4 */ /* size: 12, cachelines: 1 */ /* last cacheline: 12 bytes */ }; /* definitions: 1 */ struct nf_loginfo { u_int8_t type; /* 0 1 */ /* XXX 3 bytes hole, try to pack */ union { struct { u_int32_t copy_len; /* 4 4 */ u_int16_t group; /* 8 2 */ u_int16_t qthreshold; /* 10 2 */ } ulog /* 8 */ struct { u_int8_t level; /* 4 1 */ u_int8_t logflags; /* 5 1 */ } log /* 2 */ } u; /* 4 8 */ /* size: 12, cachelines: 1 */ /* sum members: 9, holes: 1, sum holes: 3 */ /* last cacheline: 12 bytes */ }; /* definitions: 1 */ struct nl_seq_iter { int link; /* 0 4 */ int hash_idx; /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ struct netlink_set_err_data { struct sock * exclude_sk; /* 0 4 */ u32 pid; /* 4 4 */ u32 group; /* 8 4 */ int code; /* 12 4 */ /* size: 16, cachelines: 1 */ /* last cacheline: 16 bytes */ }; /* definitions: 1 */ struct netlink_broadcast_data { struct sock * exclude_sk; /* 0 4 */ u32 pid; /* 4 4 */ u32 group; /* 8 4 */ int failure; /* 12 4 */ int congested; /* 16 4 */ int delivered; /* 20 4 */ gfp_t allocation; /* 24 4 */ struct sk_buff * skb; /* 28 4 */ struct sk_buff * skb2; /* 32 4 */ /* size: 36, cachelines: 1 */ /* last cacheline: 36 bytes */ }; /* definitions: 1 */ struct netlink_table { struct nl_pid_hash hash; /* 0 28 */ struct hlist_head mc_list; /* 28 4 */ long unsigned int * listeners; /* 32 4 */ unsigned int nl_nonroot; /* 36 4 */ unsigned int groups; /* 40 4 */ struct module * module; /* 44 4 */ int registered; /* 48 4 */ /* size: 52, cachelines: 1 */ /* last cacheline: 52 bytes */ }; /* definitions: 1 */ struct nl_pid_hash { struct hlist_head * table; /* 0 4 */ long unsigned int rehash_time; /* 4 4 */ unsigned int mask; /* 8 4 */ unsigned int shift; /* 12 4 */ unsigned int entries; /* 16 4 */ unsigned int max_shift; /* 20 4 */ u32 rnd; /* 24 4 */ /* size: 28, cachelines: 1 */ /* last cacheline: 28 bytes */ }; /* definitions: 1 */ struct netlink_sock { struct sock sk; /* 0 596 */ /* --- cacheline 9 boundary (576 bytes) was 20 bytes ago --- */ u32 pid; /* 596 4 */ u32 dst_pid; /* 600 4 */ u32 dst_group; /* 604 4 */ u32 flags; /* 608 4 */ u32 subscriptions; /* 612 4 */ u32 ngroups; /* 616 4 */ long unsigned int * groups; /* 620 4 */ long unsigned int state; /* 624 4 */ wait_queue_head_t wait; /* 628 40 */ /* --- cacheline 10 boundary (640 bytes) was 28 bytes ago --- */ struct netlink_callback * cb; /* 668 4 */ spinlock_t cb_lock; /* 672 32 */ /* --- cacheline 11 boundary (704 bytes) --- */ void (*data_ready)(struct sock *, int); /* 704 4 */ struct module * module; /* 708 4 */ /* size: 712, cachelines: 12 */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ struct netlink_notify { int pid; /* 0 4 */ int protocol; /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ struct nl_pktinfo { __u32 group; /* 0 4 */ /* size: 4, cachelines: 1 */ /* last cacheline: 4 bytes */ }; /* definitions: 1 */ struct nlmsgerr { int error; /* 0 4 */ struct nlmsghdr msg; /* 4 16 */ /* size: 20, cachelines: 1 */ /* last cacheline: 20 bytes */ }; /* definitions: 2 */ struct sockaddr_nl { sa_family_t nl_family; /* 0 2 */ short unsigned int nl_pad; /* 2 2 */ __u32 nl_pid; /* 4 4 */ __u32 nl_groups; /* 8 4 */ /* size: 12, cachelines: 1 */ /* last cacheline: 12 bytes */ }; /* definitions: 1 */ struct tcf_ematch_tree { struct tcf_ematch_tree_hdr hdr; /* 0 4 */ struct tcf_ematch * matches; /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ struct tcf_ematch_ops { int kind; /* 0 4 */ int datalen; /* 4 4 */ int (*change)(struct tcf_proto *, void *, int, struct tcf_ematch *); /* 8 4 */ int (*match)(struct sk_buff *, struct tcf_ematch *, struct tcf_pkt_info *); /* 12 4 */ void (*destroy)(struct tcf_proto *, struct tcf_ematch *); /* 16 4 */ int (*dump)(struct sk_buff *, struct tcf_ematch *); /* 20 4 */ struct module * owner; /* 24 4 */ struct list_head link; /* 28 8 */ /* size: 36, cachelines: 1 */ /* last cacheline: 36 bytes */ }; /* definitions: 1 */ struct tcf_ematch { struct tcf_ematch_ops * ops; /* 0 4 */ long unsigned int data; /* 4 4 */ unsigned int datalen; /* 8 4 */ u16 matchid; /* 12 2 */ u16 flags; /* 14 2 */ /* size: 16, cachelines: 1 */ /* last cacheline: 16 bytes */ }; /* definitions: 1 */ struct tcf_pkt_info { unsigned char * ptr; /* 0 4 */ int nexthdr; /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ struct tcf_ematch_hdr { __u16 matchid; /* 0 2 */ __u16 kind; /* 2 2 */ __u16 flags; /* 4 2 */ __u16 pad; /* 6 2 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ struct tcf_ematch_tree_hdr { __u16 nmatches; /* 0 2 */ __u16 progid; /* 2 2 */ /* size: 4, cachelines: 1 */ /* last cacheline: 4 bytes */ }; /* definitions: 1 */ struct fifo_sched_data { u32 limit; /* 0 4 */ /* size: 4, cachelines: 1 */ /* last cacheline: 4 bytes */ }; /* definitions: 1 */ struct tc_fifo_qopt { __u32 limit; /* 0 4 */ /* size: 4, cachelines: 1 */ /* last cacheline: 4 bytes */ }; /* definitions: 1 */ struct tcf_act_hdr { struct tcf_common common; /* 0 124 */ /* --- cacheline 1 boundary (64 bytes) was 60 bytes ago --- */ /* size: 124, cachelines: 2 */ /* last cacheline: 60 bytes */ }; /* definitions: 1 */ struct tcamsg { unsigned char tca_family; /* 0 1 */ unsigned char tca__pad1; /* 1 1 */ short unsigned int tca__pad2; /* 2 2 */ /* size: 4, cachelines: 1 */ /* last cacheline: 4 bytes */ }; /* definitions: 1 */ struct tcf_dump_args { struct tcf_walker w; /* 0 16 */ struct sk_buff * skb; /* 16 4 */ struct netlink_callback * cb; /* 20 4 */ /* size: 24, cachelines: 1 */ /* last cacheline: 24 bytes */ }; /* definitions: 1 */ struct tcf_ext_map { int action; /* 0 4 */ int police; /* 4 4 */ /* size: 8, cachelines: 1 */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ struct tcf_exts { struct tc_action * action; /* 0 4 */ /* size: 4, cachelines: 1 */ /* last cacheline: 4 bytes */ }; /* definitions: 1 */ struct tc_action_ops { struct tc_action_ops * next; /* 0 4 */ struct tcf_hashinfo * hinfo; /* 4 4 */ char kind[16]; /* 8 16 */ __u32 type; /* 24 4 */ __u32 capab; /* 28 4 */ struct module * owner; /* 32 4 */ int (*act)(struct sk_buff *, struct tc_action *, struct tcf_result *); /* 36 4 */ int (*get_stats)(struct sk_buff *, struct tc_action *); /* 40 4 */ int (*dump)(struct sk_buff *, struct tc_action *, int, int); /* 44 4 */ int (*cleanup)(struct tc_action *, int); /* 48 4 */ int (*lookup)(struct tc_action *, u32); /* 52 4 */ int (*init)(struct rtattr *, struct rtattr *, struct tc_action *, int, int); /* 56 4 */ int (*walk)(struct sk_buff *, struct netlink_callback *, int, struct tc_action *); /* 60 4 */ /* --- cacheline 1 boundary (64 bytes) --- */ /* size: 64, cachelines: 1 */ }; /* definitions: 2 */ struct tc_action { void * priv; /* 0 4 */ struct tc_action_ops * ops; /* 4 4 */ __u32 type; /* 8 4 */ __u32 order; /* 12 4 */ struct tc_action * next; /* 16 4 */ /* size: 20, cachelines: 1 */ /* last cacheline: 20 bytes */ }; /* definitions: 2 */ struct tcf_hashinfo { struct tcf_common * * htab; /* 0 4 */ unsigned int hmask; /* 4 4 */ rwlock_t * lock; /* 8 4 */ /* size: 12, cachelines: 1 */ /* last cacheline: 12 bytes */ }; /* definitions: 2 */ struct tcf_common { struct tcf_common * tcfc_next; /* 0 4 */ u32 tcfc_index; /* 4 4 */ int tcfc_refcnt; /* 8 4 */ int tcfc_bindcnt; /* 12 4 */ u32 tcfc_capab; /* 16 4 */ int tcfc_action; /* 20 4 */ struct tcf_t tcfc_tm; /* 24 24 */ struct gnet_stats_basic tcfc_bstats; /* 48 12 */ struct gnet_stats_queue tcfc_qstats; /* 60 20 */ /* --- cacheline 1 boundary (64 bytes) was 16 bytes ago --- */ struct gnet_stats_rate_est tcfc_rate_est; /* 80 8 */ spinlock_t * tcfc_stats_lock; /* 88 4 */ spinlock_t tcfc_lock; /* 92 32 */ /* size: 124, cachelines: 2 */ /* last cacheline: 60 bytes */ }; /* definitions: 2 */ struct tcf_walker { int stop; /* 0 4 */ int skip; /* 4 4 */ int count; /* 8 4 */ int (*fn)(struct tcf_proto *, long unsigned int, struct tcf_walker *); /* 12 4 */ /* size: 16, cachelines: 1 */ /* last cacheline: 16 bytes */ }; /* definitions: 2 */ struct tcf_t { __u64 install; /* 0 8 */ __u64 lastuse; /* 8 8 */ __u64 expires; /* 16 8 */ /* size: 24, cachelines: 1 */ /* last cacheline: 24 bytes */ }; /* definitions: 2 */ struct qdisc_dump_args { struct qdisc_walker w; /* 0 16 */ struct sk_buff * skb; /* 16 4 */ struct netlink_callback * cb; /* 20 4 */ /* size: 24, cachelines: 1 */ /* last cacheline: 24 bytes */ }; /* definitions: 1 */ struct check_loop_arg { struct qdisc_walker w; /* 0 16 */ struct Qdisc * p; /* 16 4 */ int depth; /* 20 4 */ /* size: 24, cachelines: 1 */ /* last cacheline: 24 bytes */ }; /* definitions: 1 */ struct qdisc_rate_table { struct tc_ratespec rate; /* 0 12 */ u32 data[256]; /* 12 1024 */ /* --- cacheline 16 boundary (1024 bytes) was 12 bytes ago --- */ struct qdisc_rate_table * next; /* 1036 4 */ int refcnt; /* 1040 4 */ /* size: 1044, cachelines: 17 */ /* last cacheline: 20 bytes */ }; /* definitions: 1 */ struct tc_ratespec { unsigned char cell_log; /* 0 1 */ unsigned char __reserved; /* 1 1 */ short unsigned int feature; /* 2 2 */ short int a