[acme@zoo git]$ pahole --expand_types -C tcp6_sock build/v4.2.0-rc5+/net/ipv6/tcp_ipv6.o struct tcp6_sock { struct tcp_sock { struct inet_connection_sock { struct inet_sock { struct sock { struct sock_common { union { /* typedef __addrpair -> __u64 */ long long unsigned int skc_addrpair; /* 8 */ struct { /* typedef __be32 -> __u32 */ unsigned int skc_daddr; /* 0 4 */ /* typedef __be32 -> __u32 */ unsigned int skc_rcv_saddr; /* 4 4 */ }; /* 8 */ }; /* 0 8 */ union { unsigned int skc_hash; /* 4 */ /* typedef __u16 */ short unsigned int skc_u16hashes[2]; /* 4 */ }; /* 8 4 */ union { /* typedef __portpair -> __u32 */ unsigned int skc_portpair; /* 4 */ struct { /* typedef __be16 -> __u16 */ short unsigned int skc_dport; /* 12 2 */ /* typedef __u16 */ short unsigned int skc_num; /* 14 2 */ }; /* 4 */ }; /* 12 4 */ short unsigned int skc_family; /* 16 2 */ volatile unsigned char skc_state; /* 18 1 */ unsigned char skc_reuse:4; /* 19: 4 1 */ unsigned char skc_reuseport:1; /* 19: 3 1 */ unsigned char skc_ipv6only:1; /* 19: 2 1 */ unsigned char skc_net_refcnt:1; /* 19: 1 1 */ int skc_bound_dev_if; /* 20 4 */ union { struct hlist_node { struct hlist_node * next; /* 24 8 */ struct hlist_node * * pprev; /* 32 8 */ } skc_bind_node; /* 16 */ struct hlist_nulls_node { struct hlist_nulls_node * next; /* 24 8 */ struct hlist_nulls_node * * pprev; /* 32 8 */ } skc_portaddr_node; /* 16 */ }; /* 24 16 */ struct proto * skc_prot; /* 40 8 */ /* typedef possible_net_t */ struct { struct net * net; /* 48 8 */ } skc_net; /* 48 8 */ struct in6_addr { union { /* typedef __u8 */ unsigned char u6_addr8[16]; /* 16 */ /* typedef __be16 -> __u16 */ short unsigned int u6_addr16[8]; /* 16 */ /* typedef __be32 -> __u32 */ unsigned int u6_addr32[4]; /* 16 */ } in6_u; /* 56 16 */ } skc_v6_daddr; /* 56 16 */ /* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */ struct in6_addr { union { /* typedef __u8 */ unsigned char u6_addr8[16]; /* 16 */ /* typedef __be16 -> __u16 */ short unsigned int u6_addr16[8]; /* 16 */ /* typedef __be32 -> __u32 */ unsigned int u6_addr32[4]; /* 16 */ } in6_u; /* 72 16 */ } skc_v6_rcv_saddr; /* 72 16 */ /* typedef atomic64_t */ struct { long int counter; /* 88 8 */ } skc_cookie; /* 88 8 */ int skc_dontcopy_begin[0]; /* 96 0 */ union { struct hlist_node { struct hlist_node * next; /* 96 8 */ struct hlist_node * * pprev; /* 104 8 */ } skc_node; /* 16 */ struct hlist_nulls_node { struct hlist_nulls_node * next; /* 96 8 */ struct hlist_nulls_node * * pprev; /* 104 8 */ } skc_nulls_node; /* 16 */ }; /* 96 16 */ int skc_tx_queue_mapping; /* 112 4 */ /* typedef atomic_t */ struct { int counter; /* 116 4 */ } skc_refcnt; /* 116 4 */ int skc_dontcopy_end[0]; /* 120 0 */ } __sk_common; /* 0 120 */ /* --- cacheline 1 boundary (64 bytes) was 56 bytes ago --- */ /* typedef socket_lock_t */ struct { /* typedef spinlock_t */ struct spinlock { union { struct raw_spinlock { /* typedef arch_spinlock_t */ struct qspinlock { /* typedef atomic_t */ struct { int counter; /* 120 4 */ } val; /* 120 4 */ } raw_lock; /* 120 4 */ } rlock; /* 4 */ }; /* 120 4 */ } slock; /* 120 4 */ int owned; /* 124 4 */ /* typedef wait_queue_head_t */ struct __wait_queue_head { /* typedef spinlock_t */ struct spinlock { union { struct raw_spinlock { /* typedef arch_spinlock_t */ struct qspinlock { /* typedef atomic_t */ struct { int counter; /* 128 4 */ } val; /* 128 4 */ } raw_lock; /* 128 4 */ } rlock; /* 4 */ }; /* 128 4 */ } lock; /* 128 4 */ struct list_head { struct list_head * next; /* 136 8 */ struct list_head * prev; /* 144 8 */ } task_list; /* 136 16 */ } wq; /* 128 24 */ } sk_lock; /* 120 32 */ /* --- cacheline 2 boundary (128 bytes) was 24 bytes ago --- */ struct sk_buff_head { struct sk_buff * next; /* 152 8 */ struct sk_buff * prev; /* 160 8 */ /* typedef __u32 */ unsigned int qlen; /* 168 4 */ /* typedef spinlock_t */ struct spinlock { union { struct raw_spinlock { /* typedef arch_spinlock_t */ struct qspinlock { /* typedef atomic_t */ struct { int counter; /* 172 4 */ } val; /* 172 4 */ } raw_lock; /* 172 4 */ } rlock; /* 4 */ }; /* 172 4 */ } lock; /* 172 4 */ } sk_receive_queue; /* 152 24 */ struct { /* typedef atomic_t */ struct { int counter; /* 176 4 */ } rmem_alloc; /* 176 4 */ int len; /* 180 4 */ struct sk_buff * head; /* 184 8 */ struct sk_buff * tail; /* 192 8 */ } sk_backlog; /* 176 24 */ /* --- cacheline 3 boundary (192 bytes) was 8 bytes ago --- */ int sk_forward_alloc; /* 200 4 */ /* typedef __u32 */ unsigned int sk_rxhash; /* 204 4 */ /* typedef u16 */ short unsigned int sk_incoming_cpu; /* 208 2 */ /* typedef __u32 */ unsigned int sk_txhash; /* 212 4 */ unsigned int sk_napi_id; /* 216 4 */ unsigned int sk_ll_usec; /* 220 4 */ /* typedef atomic_t */ struct { int counter; /* 224 4 */ } sk_drops; /* 224 4 */ int sk_rcvbuf; /* 228 4 */ struct sk_filter * sk_filter; /* 232 8 */ struct socket_wq * sk_wq; /* 240 8 */ struct xfrm_policy * sk_policy[2]; /* 248 16 */ /* --- cacheline 4 boundary (256 bytes) was 6 bytes ago --- */ long unsigned int sk_flags; /* 264 8 */ struct dst_entry * sk_rx_dst; /* 272 8 */ struct dst_entry * sk_dst_cache; /* 280 8 */ /* typedef spinlock_t */ struct spinlock { union { struct raw_spinlock { /* typedef arch_spinlock_t */ struct qspinlock { /* typedef atomic_t */ struct { int counter; /* 288 4 */ } val; /* 288 4 */ } raw_lock; /* 288 4 */ } rlock; /* 4 */ }; /* 288 4 */ } sk_dst_lock; /* 288 4 */ /* typedef atomic_t */ struct { int counter; /* 292 4 */ } sk_wmem_alloc; /* 292 4 */ /* typedef atomic_t */ struct { int counter; /* 296 4 */ } sk_omem_alloc; /* 296 4 */ int sk_sndbuf; /* 300 4 */ struct sk_buff_head { struct sk_buff * next; /* 304 8 */ struct sk_buff * prev; /* 312 8 */ /* typedef __u32 */ unsigned int qlen; /* 320 4 */ /* typedef spinlock_t */ struct spinlock { union { struct raw_spinlock { /* typedef arch_spinlock_t */ struct qspinlock { /* typedef atomic_t */ struct { int counter; /* 324 4 */ } val; /* 324 4 */ } raw_lock; /* 324 4 */ } rlock; /* 4 */ }; /* 324 4 */ } lock; /* 324 4 */ } sk_write_queue; /* 304 24 */ /* --- cacheline 5 boundary (320 bytes) was 6 bytes ago --- */ unsigned int sk_shutdown:2; /* 328:30 4 */ unsigned int sk_no_check_tx:1; /* 328:29 4 */ unsigned int sk_no_check_rx:1; /* 328:28 4 */ unsigned int sk_userlocks:4; /* 328:24 4 */ unsigned int sk_protocol:8; /* 328:16 4 */ unsigned int sk_type:16; /* 328: 0 4 */ int sk_wmem_queued; /* 332 4 */ /* typedef gfp_t */ unsigned int sk_allocation; /* 336 4 */ /* typedef u32 */ unsigned int sk_pacing_rate; /* 340 4 */ /* typedef u32 */ unsigned int sk_max_pacing_rate; /* 344 4 */ /* typedef netdev_features_t -> u64 */ long long unsigned int sk_route_caps; /* 352 8 */ /* typedef netdev_features_t -> u64 */ long long unsigned int sk_route_nocaps; /* 360 8 */ int sk_gso_type; /* 368 4 */ unsigned int sk_gso_max_size; /* 372 4 */ /* typedef u16 */ short unsigned int sk_gso_max_segs; /* 376 2 */ int sk_rcvlowat; /* 380 4 */ long unsigned int sk_lingertime; /* 384 8 */ /* --- cacheline 6 boundary (384 bytes) --- */ struct sk_buff_head { struct sk_buff * next; /* 392 8 */ struct sk_buff * prev; /* 400 8 */ /* typedef __u32 */ unsigned int qlen; /* 408 4 */ /* typedef spinlock_t */ struct spinlock { union { struct raw_spinlock { /* typedef arch_spinlock_t */ struct qspinlock { /* typedef atomic_t */ struct { int counter; /* 412 4 */ } val; /* 412 4 */ } raw_lock; /* 412 4 */ } rlock; /* 4 */ }; /* 412 4 */ } lock; /* 412 4 */ } sk_error_queue; /* 392 24 */ struct proto * sk_prot_creator; /* 416 8 */ /* typedef rwlock_t */ struct { /* typedef arch_rwlock_t */ struct qrwlock { /* typedef atomic_t */ struct { int counter; /* 424 4 */ } cnts; /* 424 4 */ /* typedef arch_spinlock_t */ struct qspinlock { /* typedef atomic_t */ struct { int counter; /* 428 4 */ } val; /* 428 4 */ } lock; /* 428 4 */ } raw_lock; /* 424 8 */ } sk_callback_lock; /* 424 8 */ int sk_err; /* 432 4 */ int sk_err_soft; /* 436 4 */ /* typedef u32 */ unsigned int sk_ack_backlog; /* 440 4 */ /* typedef u32 */ unsigned int sk_max_ack_backlog; /* 444 4 */ /* typedef __u32 */ unsigned int sk_priority; /* 448 4 */ /* typedef __u32 */ unsigned int sk_cgrp_prioidx; /* 452 4 */ /* --- cacheline 7 boundary (448 bytes) --- */ struct pid * sk_peer_pid; /* 456 8 */ const struct cred * sk_peer_cred; /* 464 8 */ long int sk_rcvtimeo; /* 472 8 */ long int sk_sndtimeo; /* 480 8 */ struct timer_list { struct hlist_node { struct hlist_node * next; /* 488 8 */ struct hlist_node * * pprev; /* 496 8 */ } entry; /* 488 16 */ long unsigned int expires; /* 504 8 */ void (*function)(long unsigned int); /* 512 8 */ long unsigned int data; /* 520 8 */ /* typedef u32 */ unsigned int flags; /* 528 4 */ int slack; /* 532 4 */ int start_pid; /* 536 4 */ void * start_site; /* 544 8 */ char start_comm[16]; /* 552 16 */ /* --- cacheline 1 boundary (64 bytes) was 12 bytes ago --- */ } sk_timer; /* 488 80 */ /* --- cacheline 8 boundary (512 bytes) was 48 bytes ago --- */ /* typedef ktime_t */ union ktime { /* typedef s64 */ long long int tv64; /* 8 */ } sk_stamp; /* 568 8 */ /* typedef u16 */ short unsigned int sk_tsflags; /* 576 2 */ /* typedef u32 */ unsigned int sk_tskey; /* 580 4 */ struct socket * sk_socket; /* 584 8 */ /* --- cacheline 9 boundary (576 bytes) was 6 bytes ago --- */ void * sk_user_data; /* 592 8 */ struct page_frag { struct page * page; /* 600 8 */ /* typedef __u32 */ unsigned int offset; /* 608 4 */ /* typedef __u32 */ unsigned int size; /* 612 4 */ } sk_frag; /* 600 16 */ struct sk_buff * sk_send_head; /* 616 8 */ /* typedef __s32 */ int sk_peek_off; /* 624 4 */ int sk_write_pending; /* 628 4 */ void * sk_security; /* 632 8 */ /* typedef __u32 */ unsigned int sk_mark; /* 640 4 */ /* typedef u32 */ unsigned int sk_classid; /* 644 4 */ struct cg_proto * sk_cgrp; /* 648 8 */ /* --- cacheline 10 boundary (640 bytes) was 6 bytes ago --- */ void (*sk_state_change)(struct sock *); /* 656 8 */ void (*sk_data_ready)(struct sock *); /* 664 8 */ void (*sk_write_space)(struct sock *); /* 672 8 */ void (*sk_error_report)(struct sock *); /* 680 8 */ int (*sk_backlog_rcv)(struct sock *, struct sk_buff *); /* 688 8 */ void (*sk_destruct)(struct sock *); /* 696 8 */ } sk; /* 0 704 */ /* --- cacheline 11 boundary (704 bytes) --- */ struct ipv6_pinfo * pinet6; /* 704 8 */ /* typedef __be32 -> __u32 */ unsigned int inet_saddr; /* 712 4 */ /* typedef __s16 */ short int uc_ttl; /* 716 2 */ /* typedef __u16 */ short unsigned int cmsg_flags; /* 718 2 */ /* typedef __be16 -> __u16 */ short unsigned int inet_sport; /* 720 2 */ /* typedef __u16 */ short unsigned int inet_id; /* 722 2 */ struct ip_options_rcu * inet_opt; /* 728 8 */ int rx_dst_ifindex; /* 736 4 */ /* typedef __u8 */ unsigned char tos; /* 740 1 */ /* typedef __u8 */ unsigned char min_ttl; /* 741 1 */ /* typedef __u8 */ unsigned char mc_ttl; /* 742 1 */ /* typedef __u8 */ unsigned char pmtudisc; /* 743 1 */ /* typedef __u8 */ unsigned char recverr:1; /* 744: 7 1 */ /* typedef __u8 */ unsigned char is_icsk:1; /* 744: 6 1 */ /* typedef __u8 */ unsigned char freebind:1; /* 744: 5 1 */ /* typedef __u8 */ unsigned char hdrincl:1; /* 744: 4 1 */ /* typedef __u8 */ unsigned char mc_loop:1; /* 744: 3 1 */ /* typedef __u8 */ unsigned char transparent:1; /* 744: 2 1 */ /* typedef __u8 */ unsigned char mc_all:1; /* 744: 1 1 */ /* typedef __u8 */ unsigned char nodefrag:1; /* 744: 0 1 */ /* typedef __u8 */ unsigned char bind_address_no_port:1; /* 745: 7 1 */ /* typedef __u8 */ unsigned char rcv_tos; /* 746 1 */ /* typedef __u8 */ unsigned char convert_csum; /* 747 1 */ int uc_index; /* 748 4 */ int mc_index; /* 752 4 */ /* typedef __be32 -> __u32 */ unsigned int mc_addr; /* 756 4 */ struct ip_mc_socklist * mc_list; /* 760 8 */ struct inet_cork_full { struct inet_cork { unsigned int flags; /* 768 4 */ /* typedef __be32 -> __u32 */ unsigned int addr; /* 772 4 */ struct ip_options * opt; /* 776 8 */ unsigned int fragsize; /* 784 4 */ int length; /* 788 4 */ struct dst_entry * dst; /* 792 8 */ /* typedef u8 */ unsigned char tx_flags; /* 800 1 */ /* typedef __u8 */ unsigned char ttl; /* 801 1 */ /* typedef __s16 */ short int tos; /* 802 2 */ char priority; /* 804 1 */ } base; /* 768 40 */ struct flowi { union { struct flowi_common { int flowic_oif; /* 808 4 */ int flowic_iif; /* 812 4 */ /* typedef __u32 */ unsigned int flowic_mark; /* 816 4 */ /* typedef __u8 */ unsigned char flowic_tos; /* 820 1 */ /* typedef __u8 */ unsigned char flowic_scope; /* 821 1 */ /* typedef __u8 */ unsigned char flowic_proto; /* 822 1 */ /* typedef __u8 */ unsigned char flowic_flags; /* 823 1 */ /* typedef __u32 */ unsigned int flowic_secid; /* 824 4 */ } __fl_common; /* 20 */ struct flowi4 { struct flowi_common { int flowic_oif; /* 808 4 */ int flowic_iif; /* 812 4 */ /* typedef __u32 */ unsigned int flowic_mark; /* 816 4 */ /* typedef __u8 */ unsigned char flowic_tos; /* 820 1 */ /* typedef __u8 */ unsigned char flowic_scope; /* 821 1 */ /* typedef __u8 */ unsigned char flowic_proto; /* 822 1 */ /* typedef __u8 */ unsigned char flowic_flags; /* 823 1 */ /* typedef __u32 */ unsigned int flowic_secid; /* 824 4 */ } __fl_common; /* 808 20 */ /* typedef __be32 -> __u32 */ unsigned int saddr; /* 828 4 */ /* typedef __be32 -> __u32 */ unsigned int daddr; /* 832 4 */ union flowi_uli { struct { /* typedef __be16 -> __u16 */ short unsigned int dport; /* 836 2 */ /* typedef __be16 -> __u16 */ short unsigned int sport; /* 838 2 */ } ports; /* 4 */ struct { /* typedef __u8 */ unsigned char type; /* 836 1 */ /* typedef __u8 */ unsigned char code; /* 837 1 */ } icmpt; /* 2 */ struct { /* typedef __le16 -> __u16 */ short unsigned int dport; /* 836 2 */ /* typedef __le16 -> __u16 */ short unsigned int sport; /* 838 2 */ } dnports; /* 4 */ /* typedef __be32 -> __u32 */ unsigned int spi; /* 4 */ /* typedef __be32 -> __u32 */ unsigned int gre_key; /* 4 */ struct { /* typedef __u8 */ unsigned char type; /* 836 1 */ } mht; /* 1 */ } uli; /* 836 4 */ } ip4; /* 32 */ struct flowi6 { struct flowi_common { int flowic_oif; /* 808 4 */ int flowic_iif; /* 812 4 */ /* typedef __u32 */ unsigned int flowic_mark; /* 816 4 */ /* typedef __u8 */ unsigned char flowic_tos; /* 820 1 */ /* typedef __u8 */ unsigned char flowic_scope; /* 821 1 */ /* typedef __u8 */ unsigned char flowic_proto; /* 822 1 */ /* typedef __u8 */ unsigned char flowic_flags; /* 823 1 */ /* typedef __u32 */ unsigned int flowic_secid; /* 824 4 */ } __fl_common; /* 808 20 */ struct in6_addr { union { /* typedef __u8 */ unsigned char u6_addr8[16]; /* 16 */ /* typedef __be16 -> __u16 */ short unsigned int u6_addr16[8]; /* 16 */ /* typedef __be32 -> __u32 */ unsigned int u6_addr32[4]; /* 16 */ } in6_u; /* 828 16 */ } daddr; /* 828 16 */ struct in6_addr { union { /* typedef __u8 */ unsigned char u6_addr8[16]; /* 16 */ /* typedef __be16 -> __u16 */ short unsigned int u6_addr16[8]; /* 16 */ /* typedef __be32 -> __u32 */ unsigned int u6_addr32[4]; /* 16 */ } in6_u; /* 844 16 */ } saddr; /* 844 16 */ /* typedef __be32 -> __u32 */ unsigned int flowlabel; /* 860 4 */ union flowi_uli { struct { /* typedef __be16 -> __u16 */ short unsigned int dport; /* 864 2 */ /* typedef __be16 -> __u16 */ short unsigned int sport; /* 866 2 */ } ports; /* 4 */ struct { /* typedef __u8 */ unsigned char type; /* 864 1 */ /* typedef __u8 */ unsigned char code; /* 865 1 */ } icmpt; /* 2 */ struct { /* typedef __le16 -> __u16 */ short unsigned int dport; /* 864 2 */ /* typedef __le16 -> __u16 */ short unsigned int sport; /* 866 2 */ } dnports; /* 4 */ /* typedef __be32 -> __u32 */ unsigned int spi; /* 4 */ /* typedef __be32 -> __u32 */ unsigned int gre_key; /* 4 */ struct { /* typedef __u8 */ unsigned char type; /* 864 1 */ } mht; /* 1 */ } uli; /* 864 4 */ } ip6; /* 64 */ struct flowidn { struct flowi_common { int flowic_oif; /* 808 4 */ int flowic_iif; /* 812 4 */ /* typedef __u32 */ unsigned int flowic_mark; /* 816 4 */ /* typedef __u8 */ unsigned char flowic_tos; /* 820 1 */ /* typedef __u8 */ unsigned char flowic_scope; /* 821 1 */ /* typedef __u8 */ unsigned char flowic_proto; /* 822 1 */ /* typedef __u8 */ unsigned char flowic_flags; /* 823 1 */ /* typedef __u32 */ unsigned int flowic_secid; /* 824 4 */ } __fl_common; /* 808 20 */ /* typedef __le16 -> __u16 */ short unsigned int daddr; /* 828 2 */ /* typedef __le16 -> __u16 */ short unsigned int saddr; /* 830 2 */ union flowi_uli { struct { /* typedef __be16 -> __u16 */ short unsigned int dport; /* 832 2 */ /* typedef __be16 -> __u16 */ short unsigned int sport; /* 834 2 */ } ports; /* 4 */ struct { /* typedef __u8 */ unsigned char type; /* 832 1 */ /* typedef __u8 */ unsigned char code; /* 833 1 */ } icmpt; /* 2 */ struct { /* typedef __le16 -> __u16 */ short unsigned int dport; /* 832 2 */ /* typedef __le16 -> __u16 */ short unsigned int sport; /* 834 2 */ } dnports; /* 4 */ /* typedef __be32 -> __u32 */ unsigned int spi; /* 4 */ /* typedef __be32 -> __u32 */ unsigned int gre_key; /* 4 */ struct { /* typedef __u8 */ unsigned char type; /* 832 1 */ } mht; /* 1 */ } uli; /* 832 4 */ } dn; /* 32 */ } u; /* 808 64 */ /* --- cacheline 1 boundary (64 bytes) --- */ } fl; /* 808 64 */ /* --- cacheline 1 boundary (64 bytes) was 40 bytes ago --- */ } cork; /* 768 104 */ /* --- cacheline 13 boundary (832 bytes) was 36 bytes ago --- */ } icsk_inet; /* 0 872 */ /* --- cacheline 13 boundary (832 bytes) was 40 bytes ago --- */ struct request_sock_queue { struct request_sock * rskq_accept_head; /* 896 8 */ struct request_sock * rskq_accept_tail; /* 904 8 */ /* typedef u8 */ unsigned char rskq_defer_accept; /* 912 1 */ struct listen_sock * listen_opt; /* 920 8 */ struct fastopen_queue * fastopenq; /* 928 8 */ /* typedef spinlock_t */ struct spinlock { union { struct raw_spinlock { /* typedef arch_spinlock_t */ struct qspinlock { /* typedef atomic_t */ struct { int counter; /* 960 4 */ } val; /* 960 4 */ } raw_lock; /* 960 4 */ } rlock; /* 4 */ }; /* 960 4 */ } syn_wait_lock; /* 960 4 */ } icsk_accept_queue; /* 896 128 */ /* --- cacheline 15 boundary (960 bytes) was 40 bytes ago --- */ struct inet_bind_bucket * icsk_bind_hash; /* 1024 8 */ long unsigned int icsk_timeout; /* 1032 8 */ struct timer_list { struct hlist_node { struct hlist_node * next; /* 1040 8 */ struct hlist_node * * pprev; /* 1048 8 */ } entry; /* 1040 16 */ long unsigned int expires; /* 1056 8 */ void (*function)(long unsigned int); /* 1064 8 */ long unsigned int data; /* 1072 8 */ /* typedef u32 */ unsigned int flags; /* 1080 4 */ int slack; /* 1084 4 */ int start_pid; /* 1088 4 */ void * start_site; /* 1096 8 */ char start_comm[16]; /* 1104 16 */ /* --- cacheline 1 boundary (64 bytes) was 12 bytes ago --- */ } icsk_retransmit_timer; /* 1040 80 */ /* --- cacheline 17 boundary (1088 bytes) was 8 bytes ago --- */ struct timer_list { struct hlist_node { struct hlist_node * next; /* 1120 8 */ struct hlist_node * * pprev; /* 1128 8 */ } entry; /* 1120 16 */ long unsigned int expires; /* 1136 8 */ void (*function)(long unsigned int); /* 1144 8 */ long unsigned int data; /* 1152 8 */ /* typedef u32 */ unsigned int flags; /* 1160 4 */ int slack; /* 1164 4 */ int start_pid; /* 1168 4 */ void * start_site; /* 1176 8 */ char start_comm[16]; /* 1184 16 */ /* --- cacheline 1 boundary (64 bytes) was 12 bytes ago --- */ } icsk_delack_timer; /* 1120 80 */ /* --- cacheline 18 boundary (1152 bytes) was 24 bytes ago --- */ /* typedef __u32 */ unsigned int icsk_rto; /* 1200 4 */ /* typedef __u32 */ unsigned int icsk_pmtu_cookie; /* 1204 4 */ const struct tcp_congestion_ops * icsk_ca_ops; /* 1208 8 */ const struct inet_connection_sock_af_ops * icsk_af_ops; /* 1216 8 */ unsigned int (*icsk_sync_mss)(struct sock *, u32); /* 1224 8 */ /* typedef __u8 */ unsigned char icsk_ca_state:6; /* 1232: 2 1 */ /* typedef __u8 */ unsigned char icsk_ca_setsockopt:1; /* 1232: 1 1 */ /* typedef __u8 */ unsigned char icsk_ca_dst_locked:1; /* 1232: 0 1 */ /* typedef __u8 */ unsigned char icsk_retransmits; /* 1233 1 */ /* typedef __u8 */ unsigned char icsk_pending; /* 1234 1 */ /* typedef __u8 */ unsigned char icsk_backoff; /* 1235 1 */ /* typedef __u8 */ unsigned char icsk_syn_retries; /* 1236 1 */ /* typedef __u8 */ unsigned char icsk_probes_out; /* 1237 1 */ /* typedef __u16 */ short unsigned int icsk_ext_hdr_len; /* 1238 2 */ /* --- cacheline 19 boundary (1216 bytes) --- */ struct { /* typedef __u8 */ unsigned char pending; /* 1240 1 */ /* typedef __u8 */ unsigned char quick; /* 1241 1 */ /* typedef __u8 */ unsigned char pingpong; /* 1242 1 */ /* typedef __u8 */ unsigned char blocked; /* 1243 1 */ /* typedef __u32 */ unsigned int ato; /* 1244 4 */ long unsigned int timeout; /* 1248 8 */ /* typedef __u32 */ unsigned int lrcvtime; /* 1256 4 */ /* typedef __u16 */ short unsigned int last_seg_size; /* 1260 2 */ /* typedef __u16 */ short unsigned int rcv_mss; /* 1262 2 */ } icsk_ack; /* 1240 24 */ struct { int enabled; /* 1264 4 */ int search_high; /* 1268 4 */ int search_low; /* 1272 4 */ int probe_size; /* 1276 4 */ /* typedef u32 */ unsigned int probe_timestamp; /* 1280 4 */ } icsk_mtup; /* 1264 20 */ /* typedef u32 */ unsigned int icsk_user_timeout; /* 1284 4 */ /* typedef u64 */ long long unsigned int icsk_ca_priv[8]; /* 1288 64 */ /* --- cacheline 20 boundary (1280 bytes) was 48 bytes ago --- */ } inet_conn; /* 0 1408 */ /* --- cacheline 22 boundary (1408 bytes) --- */ /* typedef u16 */ short unsigned int tcp_header_len; /* 1408 2 */ /* typedef u16 */ short unsigned int gso_segs; /* 1410 2 */ /* typedef __be32 -> __u32 */ unsigned int pred_flags; /* 1412 4 */ /* typedef u64 */ long long unsigned int bytes_received; /* 1416 8 */ /* typedef u32 */ unsigned int segs_in; /* 1424 4 */ /* typedef u32 */ unsigned int rcv_nxt; /* 1428 4 */ /* typedef u32 */ unsigned int copied_seq; /* 1432 4 */ /* typedef u32 */ unsigned int rcv_wup; /* 1436 4 */ /* typedef u32 */ unsigned int snd_nxt; /* 1440 4 */ /* typedef u32 */ unsigned int segs_out; /* 1444 4 */ /* typedef u64 */ long long unsigned int bytes_acked; /* 1448 8 */ struct u64_stats_sync { } syncp; /* 1456 0 */ /* typedef u32 */ unsigned int snd_una; /* 1456 4 */ /* typedef u32 */ unsigned int snd_sml; /* 1460 4 */ /* typedef u32 */ unsigned int rcv_tstamp; /* 1464 4 */ /* typedef u32 */ unsigned int lsndtime; /* 1468 4 */ /* --- cacheline 23 boundary (1472 bytes) --- */ /* typedef u32 */ unsigned int last_oow_ack_time; /* 1472 4 */ /* typedef u32 */ unsigned int tsoffset; /* 1476 4 */ struct list_head { struct list_head * next; /* 1480 8 */ struct list_head * prev; /* 1488 8 */ } tsq_node; /* 1480 16 */ long unsigned int tsq_flags; /* 1496 8 */ struct { struct sk_buff_head { struct sk_buff * next; /* 1504 8 */ struct sk_buff * prev; /* 1512 8 */ /* typedef __u32 */ unsigned int qlen; /* 1520 4 */ /* typedef spinlock_t */ struct spinlock { union { struct raw_spinlock { /* typedef arch_spinlock_t */ struct qspinlock { /* typedef atomic_t */ struct { int counter; /* 1524 4 */ } val; /* 1524 4 */ } raw_lock; /* 1524 4 */ } rlock; /* 4 */ }; /* 1524 4 */ } lock; /* 1524 4 */ } prequeue; /* 1504 24 */ struct task_struct * task; /* 1528 8 */ struct msghdr * msg; /* 1536 8 */ int memory; /* 1544 4 */ int len; /* 1548 4 */ } ucopy; /* 1504 48 */ /* --- cacheline 24 boundary (1536 bytes) was 16 bytes ago --- */ /* typedef u32 */ unsigned int snd_wl1; /* 1552 4 */ /* typedef u32 */ unsigned int snd_wnd; /* 1556 4 */ /* typedef u32 */ unsigned int max_window; /* 1560 4 */ /* typedef u32 */ unsigned int mss_cache; /* 1564 4 */ /* typedef u32 */ unsigned int window_clamp; /* 1568 4 */ /* typedef u32 */ unsigned int rcv_ssthresh; /* 1572 4 */ /* typedef u16 */ short unsigned int advmss; /* 1576 2 */ /* typedef u8 */ unsigned char unused; /* 1578 1 */ /* typedef u8 */ unsigned char nonagle:4; /* 1579: 4 1 */ /* typedef u8 */ unsigned char thin_lto:1; /* 1579: 3 1 */ /* typedef u8 */ unsigned char thin_dupack:1; /* 1579: 2 1 */ /* typedef u8 */ unsigned char repair:1; /* 1579: 1 1 */ /* typedef u8 */ unsigned char frto:1; /* 1579: 0 1 */ /* typedef u8 */ unsigned char repair_queue; /* 1580 1 */ /* typedef u8 */ unsigned char do_early_retrans:1; /* 1581: 7 1 */ /* typedef u8 */ unsigned char syn_data:1; /* 1581: 6 1 */ /* typedef u8 */ unsigned char syn_fastopen:1; /* 1581: 5 1 */ /* typedef u8 */ unsigned char syn_fastopen_exp:1; /* 1581: 4 1 */ /* typedef u8 */ unsigned char syn_data_acked:1; /* 1581: 3 1 */ /* typedef u8 */ unsigned char save_syn:1; /* 1581: 2 1 */ /* typedef u8 */ unsigned char is_cwnd_limited:1; /* 1581: 1 1 */ /* typedef u32 */ unsigned int tlp_high_seq; /* 1584 4 */ /* typedef u32 */ unsigned int srtt_us; /* 1588 4 */ /* typedef u32 */ unsigned int mdev_us; /* 1592 4 */ /* typedef u32 */ unsigned int mdev_max_us; /* 1596 4 */ /* typedef u32 */ unsigned int rttvar_us; /* 1600 4 */ /* --- cacheline 25 boundary (1600 bytes) was 2 bytes ago --- */ /* typedef u32 */ unsigned int rtt_seq; /* 1604 4 */ /* typedef u32 */ unsigned int packets_out; /* 1608 4 */ /* typedef u32 */ unsigned int retrans_out; /* 1612 4 */ /* typedef u32 */ unsigned int max_packets_out; /* 1616 4 */ /* typedef u32 */ unsigned int max_packets_seq; /* 1620 4 */ /* typedef u16 */ short unsigned int urg_data; /* 1624 2 */ /* typedef u8 */ unsigned char ecn_flags; /* 1626 1 */ /* typedef u8 */ unsigned char keepalive_probes; /* 1627 1 */ /* typedef u32 */ unsigned int reordering; /* 1628 4 */ /* typedef u32 */ unsigned int snd_up; /* 1632 4 */ struct tcp_options_received { long int ts_recent_stamp; /* 1640 8 */ /* typedef u32 */ unsigned int ts_recent; /* 1648 4 */ /* typedef u32 */ unsigned int rcv_tsval; /* 1652 4 */ /* typedef u32 */ unsigned int rcv_tsecr; /* 1656 4 */ /* typedef u16 */ short unsigned int saw_tstamp:1; /* 1660:15 2 */ /* typedef u16 */ short unsigned int tstamp_ok:1; /* 1660:14 2 */ /* typedef u16 */ short unsigned int dsack:1; /* 1660:13 2 */ /* typedef u16 */ short unsigned int wscale_ok:1; /* 1660:12 2 */ /* typedef u16 */ short unsigned int sack_ok:4; /* 1660: 8 2 */ /* typedef u16 */ short unsigned int snd_wscale:4; /* 1660: 4 2 */ /* typedef u16 */ short unsigned int rcv_wscale:4; /* 1660: 0 2 */ /* typedef u8 */ unsigned char num_sacks; /* 1662 1 */ /* typedef u16 */ short unsigned int user_mss; /* 1664 2 */ /* typedef u16 */ short unsigned int mss_clamp; /* 1666 2 */ } rx_opt; /* 1640 32 */ /* --- cacheline 26 boundary (1664 bytes) was 2 bytes ago --- */ /* typedef u32 */ unsigned int snd_ssthresh; /* 1672 4 */ /* typedef u32 */ unsigned int snd_cwnd; /* 1676 4 */ /* typedef u32 */ unsigned int snd_cwnd_cnt; /* 1680 4 */ /* typedef u32 */ unsigned int snd_cwnd_clamp; /* 1684 4 */ /* typedef u32 */ unsigned int snd_cwnd_used; /* 1688 4 */ /* typedef u32 */ unsigned int snd_cwnd_stamp; /* 1692 4 */ /* typedef u32 */ unsigned int prior_cwnd; /* 1696 4 */ /* typedef u32 */ unsigned int prr_delivered; /* 1700 4 */ /* typedef u32 */ unsigned int prr_out; /* 1704 4 */ /* typedef u32 */ unsigned int rcv_wnd; /* 1708 4 */ /* typedef u32 */ unsigned int write_seq; /* 1712 4 */ /* typedef u32 */ unsigned int notsent_lowat; /* 1716 4 */ /* typedef u32 */ unsigned int pushed_seq; /* 1720 4 */ /* typedef u32 */ unsigned int lost_out; /* 1724 4 */ /* typedef u32 */ unsigned int sacked_out; /* 1728 4 */ /* typedef u32 */ unsigned int fackets_out; /* 1732 4 */ /* --- cacheline 27 boundary (1728 bytes) was 2 bytes ago --- */ struct sk_buff * lost_skb_hint; /* 1736 8 */ struct sk_buff * retransmit_skb_hint; /* 1744 8 */ struct sk_buff_head { struct sk_buff * next; /* 1752 8 */ struct sk_buff * prev; /* 1760 8 */ /* typedef __u32 */ unsigned int qlen; /* 1768 4 */ /* typedef spinlock_t */ struct spinlock { union { struct raw_spinlock { /* typedef arch_spinlock_t */ struct qspinlock { /* typedef atomic_t */ struct { int counter; /* 1772 4 */ } val; /* 1772 4 */ } raw_lock; /* 1772 4 */ } rlock; /* 4 */ }; /* 1772 4 */ } lock; /* 1772 4 */ } out_of_order_queue; /* 1752 24 */ struct tcp_sack_block { /* typedef u32 */ unsigned int start_seq; /* 1776 4 */ /* typedef u32 */ unsigned int end_seq; /* 1780 4 */ } duplicate_sack[1]; /* 1776 8 */ struct tcp_sack_block { /* typedef u32 */ unsigned int start_seq; /* 1784 4 */ /* typedef u32 */ unsigned int end_seq; /* 1788 4 */ } selective_acks[4]; /* 1784 32 */ /* --- cacheline 28 boundary (1792 bytes) was 18 bytes ago --- */ struct tcp_sack_block { /* typedef u32 */ unsigned int start_seq; /* 1816 4 */ /* typedef u32 */ unsigned int end_seq; /* 1820 4 */ } recv_sack_cache[4]; /* 1816 32 */ struct sk_buff * highest_sack; /* 1848 8 */ int lost_cnt_hint; /* 1856 4 */ /* typedef u32 */ unsigned int retransmit_high; /* 1860 4 */ /* --- cacheline 29 boundary (1856 bytes) was 2 bytes ago --- */ /* typedef u32 */ unsigned int lost_retrans_low; /* 1864 4 */ /* typedef u32 */ unsigned int prior_ssthresh; /* 1868 4 */ /* typedef u32 */ unsigned int high_seq; /* 1872 4 */ /* typedef u32 */ unsigned int retrans_stamp; /* 1876 4 */ /* typedef u32 */ unsigned int undo_marker; /* 1880 4 */ int undo_retrans; /* 1884 4 */ /* typedef u32 */ unsigned int total_retrans; /* 1888 4 */ /* typedef u32 */ unsigned int urg_seq; /* 1892 4 */ unsigned int keepalive_time; /* 1896 4 */ unsigned int keepalive_intvl; /* 1900 4 */ int linger2; /* 1904 4 */ struct { /* typedef u32 */ unsigned int rtt; /* 1908 4 */ /* typedef u32 */ unsigned int seq; /* 1912 4 */ /* typedef u32 */ unsigned int time; /* 1916 4 */ } rcv_rtt_est; /* 1908 12 */ struct { int space; /* 1920 4 */ /* typedef u32 */ unsigned int seq; /* 1924 4 */ /* typedef u32 */ unsigned int time; /* 1928 4 */ } rcvq_space; /* 1920 12 */ /* --- cacheline 30 boundary (1920 bytes) was 6 bytes ago --- */ struct { /* typedef u32 */ unsigned int probe_seq_start; /* 1932 4 */ /* typedef u32 */ unsigned int probe_seq_end; /* 1936 4 */ } mtu_probe; /* 1932 8 */ /* typedef u32 */ unsigned int mtu_info; /* 1940 4 */ const struct tcp_sock_af_ops * af_specific; /* 1944 8 */ struct tcp_md5sig_info * md5sig_info; /* 1952 8 */ struct tcp_fastopen_request * fastopen_req; /* 1960 8 */ struct request_sock * fastopen_rsk; /* 1968 8 */ u32 * saved_syn; /* 1976 8 */ } tcp; /* 0 1984 */ /* --- cacheline 31 boundary (1984 bytes) --- */ struct ipv6_pinfo { struct in6_addr { union { /* typedef __u8 */ unsigned char u6_addr8[16]; /* 16 */ /* typedef __be16 -> __u16 */ short unsigned int u6_addr16[8]; /* 16 */ /* typedef __be32 -> __u32 */ unsigned int u6_addr32[4]; /* 16 */ } in6_u; /* 1984 16 */ } saddr; /* 1984 16 */ struct in6_pktinfo { struct in6_addr { union { /* typedef __u8 */ unsigned char u6_addr8[16]; /* 16 */ /* typedef __be16 -> __u16 */ short unsigned int u6_addr16[8]; /* 16 */ /* typedef __be32 -> __u32 */ unsigned int u6_addr32[4]; /* 16 */ } in6_u; /* 2000 16 */ } ipi6_addr; /* 2000 16 */ int ipi6_ifindex; /* 2016 4 */ } sticky_pktinfo; /* 2000 20 */ const struct in6_addr * daddr_cache; /* 2024 8 */ const struct in6_addr * saddr_cache; /* 2032 8 */ /* typedef __be32 -> __u32 */ unsigned int flow_label; /* 2040 4 */ /* typedef __u32 */ unsigned int frag_size; /* 2044 4 */ /* typedef __u16 */ short unsigned int __unused_1:7; /* 2048: 9 2 */ /* typedef __s16 */ short int hop_limit:9; /* 2048: 0 2 */ /* typedef __u16 */ short unsigned int mc_loop:1; /* 2050:15 2 */ /* typedef __u16 */ short unsigned int __unused_2:6; /* 2050: 9 2 */ /* typedef __s16 */ short int mcast_hops:9; /* 2050: 0 2 */ /* --- cacheline 1 boundary (64 bytes) --- */ int ucast_oif; /* 2052 4 */ int mcast_oif; /* 2056 4 */ union { struct { /* typedef __u16 */ short unsigned int srcrt:1; /* 2060:15 2 */ /* typedef __u16 */ short unsigned int osrcrt:1; /* 2060:14 2 */ /* typedef __u16 */ short unsigned int rxinfo:1; /* 2060:13 2 */ /* typedef __u16 */ short unsigned int rxoinfo:1; /* 2060:12 2 */ /* typedef __u16 */ short unsigned int rxhlim:1; /* 2060:11 2 */ /* typedef __u16 */ short unsigned int rxohlim:1; /* 2060:10 2 */ /* typedef __u16 */ short unsigned int hopopts:1; /* 2060: 9 2 */ /* typedef __u16 */ short unsigned int ohopopts:1; /* 2060: 8 2 */ /* typedef __u16 */ short unsigned int dstopts:1; /* 2060: 7 2 */ /* typedef __u16 */ short unsigned int odstopts:1; /* 2060: 6 2 */ /* typedef __u16 */ short unsigned int rxflow:1; /* 2060: 5 2 */ /* typedef __u16 */ short unsigned int rxtclass:1; /* 2060: 4 2 */ /* typedef __u16 */ short unsigned int rxpmtu:1; /* 2060: 3 2 */ /* typedef __u16 */ short unsigned int rxorigdstaddr:1; /* 2060: 2 2 */ } bits; /* 2 */ /* typedef __u16 */ short unsigned int all; /* 2 */ } rxopt; /* 2060 2 */ /* typedef __u16 */ short unsigned int recverr:1; /* 2062:15 2 */ /* typedef __u16 */ short unsigned int sndflow:1; /* 2062:14 2 */ /* typedef __u16 */ short unsigned int repflow:1; /* 2062:13 2 */ /* typedef __u16 */ short unsigned int pmtudisc:3; /* 2062:10 2 */ /* typedef __u16 */ short unsigned int padding:1; /* 2062: 9 2 */ /* typedef __u16 */ short unsigned int srcprefs:3; /* 2062: 6 2 */ /* typedef __u16 */ short unsigned int dontfrag:1; /* 2062: 5 2 */ /* typedef __u16 */ short unsigned int autoflowlabel:1; /* 2062: 4 2 */ /* typedef __u8 */ unsigned char min_hopcount; /* 2064 1 */ /* typedef __u8 */ unsigned char tclass; /* 2065 1 */ /* typedef __be32 -> __u32 */ unsigned int rcv_flowinfo; /* 2068 4 */ /* typedef __u32 */ unsigned int dst_cookie; /* 2072 4 */ /* typedef __u32 */ unsigned int rx_dst_cookie; /* 2076 4 */ struct ipv6_mc_socklist * ipv6_mc_list; /* 2080 8 */ struct ipv6_ac_socklist * ipv6_ac_list; /* 2088 8 */ struct ipv6_fl_socklist * ipv6_fl_list; /* 2096 8 */ struct ipv6_txoptions * opt; /* 2104 8 */ struct sk_buff * pktoptions; /* 2112 8 */ /* --- cacheline 2 boundary (128 bytes) was 2 bytes ago --- */ struct sk_buff * rxpmtu; /* 2120 8 */ struct inet6_cork { struct ipv6_txoptions * opt; /* 2128 8 */ /* typedef u8 */ unsigned char hop_limit; /* 2136 1 */ /* typedef u8 */ unsigned char tclass; /* 2137 1 */ } cork; /* 2128 16 */ } inet6; /* 1984 160 */ /* --- cacheline 33 boundary (2112 bytes) was 32 bytes ago --- */ /* size: 2176, cachelines: 34, members: 2 */ /* padding: 32 */ };