skb_shared_info
Regular
4.4
: ✅struct skb_shared_info {
unsigned char nr_frags;
__u8 tx_flags;
short unsigned int gso_size;
short unsigned int gso_segs;
short unsigned int gso_type;
struct sk_buff *frag_list;
struct skb_shared_hwtstamps hwtstamps;
u32 tskey;
__be32 ip6_frag_id;
atomic_t dataref;
void *destructor_arg;
skb_frag_t frags[17];
};
4.8
: ✅struct skb_shared_info {
unsigned char nr_frags;
__u8 tx_flags;
short unsigned int gso_size;
short unsigned int gso_segs;
short unsigned int gso_type;
struct sk_buff *frag_list;
struct skb_shared_hwtstamps hwtstamps;
u32 tskey;
__be32 ip6_frag_id;
atomic_t dataref;
void *destructor_arg;
skb_frag_t frags[17];
};
4.10
: ✅struct skb_shared_info {
unsigned char nr_frags;
__u8 tx_flags;
short unsigned int gso_size;
short unsigned int gso_segs;
short unsigned int gso_type;
struct sk_buff *frag_list;
struct skb_shared_hwtstamps hwtstamps;
u32 tskey;
__be32 ip6_frag_id;
atomic_t dataref;
void *destructor_arg;
skb_frag_t frags[17];
};
4.13
: ✅struct skb_shared_info {
short unsigned int _unused;
unsigned char nr_frags;
__u8 tx_flags;
short unsigned int gso_size;
short unsigned int gso_segs;
struct sk_buff *frag_list;
struct skb_shared_hwtstamps hwtstamps;
unsigned int gso_type;
u32 tskey;
__be32 ip6_frag_id;
atomic_t dataref;
void *destructor_arg;
skb_frag_t frags[17];
};
4.15
: ✅struct skb_shared_info {
__u8 __unused;
__u8 meta_len;
__u8 nr_frags;
__u8 tx_flags;
short unsigned int gso_size;
short unsigned int gso_segs;
struct sk_buff *frag_list;
struct skb_shared_hwtstamps hwtstamps;
unsigned int gso_type;
u32 tskey;
atomic_t dataref;
void *destructor_arg;
skb_frag_t frags[17];
};
4.18
: ✅struct skb_shared_info {
__u8 __unused;
__u8 meta_len;
__u8 nr_frags;
__u8 tx_flags;
short unsigned int gso_size;
short unsigned int gso_segs;
struct sk_buff *frag_list;
struct skb_shared_hwtstamps hwtstamps;
unsigned int gso_type;
u32 tskey;
atomic_t dataref;
void *destructor_arg;
skb_frag_t frags[17];
};
5.0
: ✅struct skb_shared_info {
__u8 __unused;
__u8 meta_len;
__u8 nr_frags;
__u8 tx_flags;
short unsigned int gso_size;
short unsigned int gso_segs;
struct sk_buff *frag_list;
struct skb_shared_hwtstamps hwtstamps;
unsigned int gso_type;
u32 tskey;
atomic_t dataref;
void *destructor_arg;
skb_frag_t frags[17];
};
5.3
: ✅struct skb_shared_info {
__u8 __unused;
__u8 meta_len;
__u8 nr_frags;
__u8 tx_flags;
short unsigned int gso_size;
short unsigned int gso_segs;
struct sk_buff *frag_list;
struct skb_shared_hwtstamps hwtstamps;
unsigned int gso_type;
u32 tskey;
atomic_t dataref;
void *destructor_arg;
skb_frag_t frags[17];
};
5.4
: ✅struct skb_shared_info {
__u8 __unused;
__u8 meta_len;
__u8 nr_frags;
__u8 tx_flags;
short unsigned int gso_size;
short unsigned int gso_segs;
struct sk_buff *frag_list;
struct skb_shared_hwtstamps hwtstamps;
unsigned int gso_type;
u32 tskey;
atomic_t dataref;
void *destructor_arg;
skb_frag_t frags[17];
};
5.8
: ✅struct skb_shared_info {
__u8 __unused;
__u8 meta_len;
__u8 nr_frags;
__u8 tx_flags;
short unsigned int gso_size;
short unsigned int gso_segs;
struct sk_buff *frag_list;
struct skb_shared_hwtstamps hwtstamps;
unsigned int gso_type;
u32 tskey;
atomic_t dataref;
void *destructor_arg;
skb_frag_t frags[17];
};
5.11
: ✅struct skb_shared_info {
__u8 __unused;
__u8 meta_len;
__u8 nr_frags;
__u8 tx_flags;
short unsigned int gso_size;
short unsigned int gso_segs;
struct sk_buff *frag_list;
struct skb_shared_hwtstamps hwtstamps;
unsigned int gso_type;
u32 tskey;
atomic_t dataref;
void *destructor_arg;
skb_frag_t frags[17];
};
5.13
: ✅struct skb_shared_info {
__u8 flags;
__u8 meta_len;
__u8 nr_frags;
__u8 tx_flags;
short unsigned int gso_size;
short unsigned int gso_segs;
struct sk_buff *frag_list;
struct skb_shared_hwtstamps hwtstamps;
unsigned int gso_type;
u32 tskey;
atomic_t dataref;
void *destructor_arg;
skb_frag_t frags[17];
};
5.15
: ✅struct skb_shared_info {
__u8 flags;
__u8 meta_len;
__u8 nr_frags;
__u8 tx_flags;
short unsigned int gso_size;
short unsigned int gso_segs;
struct sk_buff *frag_list;
struct skb_shared_hwtstamps hwtstamps;
unsigned int gso_type;
u32 tskey;
atomic_t dataref;
void *destructor_arg;
skb_frag_t frags[17];
};
5.19
: ✅struct skb_shared_info {
__u8 flags;
__u8 meta_len;
__u8 nr_frags;
__u8 tx_flags;
short unsigned int gso_size;
short unsigned int gso_segs;
struct sk_buff *frag_list;
struct skb_shared_hwtstamps hwtstamps;
unsigned int gso_type;
u32 tskey;
atomic_t dataref;
unsigned int xdp_frags_size;
void *destructor_arg;
skb_frag_t frags[17];
};
6.2
: ✅struct skb_shared_info {
__u8 flags;
__u8 meta_len;
__u8 nr_frags;
__u8 tx_flags;
short unsigned int gso_size;
short unsigned int gso_segs;
struct sk_buff *frag_list;
struct skb_shared_hwtstamps hwtstamps;
unsigned int gso_type;
u32 tskey;
atomic_t dataref;
unsigned int xdp_frags_size;
void *destructor_arg;
skb_frag_t frags[17];
};
6.5
: ✅struct skb_shared_info {
__u8 flags;
__u8 meta_len;
__u8 nr_frags;
__u8 tx_flags;
short unsigned int gso_size;
short unsigned int gso_segs;
struct sk_buff *frag_list;
struct skb_shared_hwtstamps hwtstamps;
unsigned int gso_type;
u32 tskey;
atomic_t dataref;
unsigned int xdp_frags_size;
void *destructor_arg;
skb_frag_t frags[17];
};
6.8
: ✅struct skb_shared_info {
__u8 flags;
__u8 meta_len;
__u8 nr_frags;
__u8 tx_flags;
short unsigned int gso_size;
short unsigned int gso_segs;
struct sk_buff *frag_list;
struct skb_shared_hwtstamps hwtstamps;
struct xsk_tx_metadata_compl xsk_meta;
unsigned int gso_type;
u32 tskey;
atomic_t dataref;
unsigned int xdp_frags_size;
void *destructor_arg;
skb_frag_t frags[17];
};
arm64
: ✅struct skb_shared_info {
__u8 __unused;
__u8 meta_len;
__u8 nr_frags;
__u8 tx_flags;
short unsigned int gso_size;
short unsigned int gso_segs;
struct sk_buff *frag_list;
struct skb_shared_hwtstamps hwtstamps;
unsigned int gso_type;
u32 tskey;
atomic_t dataref;
void *destructor_arg;
skb_frag_t frags[17];
};
armhf
: ✅struct skb_shared_info {
__u8 __unused;
__u8 meta_len;
__u8 nr_frags;
__u8 tx_flags;
short unsigned int gso_size;
short unsigned int gso_segs;
struct sk_buff *frag_list;
struct skb_shared_hwtstamps hwtstamps;
unsigned int gso_type;
u32 tskey;
atomic_t dataref;
void *destructor_arg;
skb_frag_t frags[17];
};
ppc64el
: ✅struct skb_shared_info {
__u8 __unused;
__u8 meta_len;
__u8 nr_frags;
__u8 tx_flags;
short unsigned int gso_size;
short unsigned int gso_segs;
struct sk_buff *frag_list;
struct skb_shared_hwtstamps hwtstamps;
unsigned int gso_type;
u32 tskey;
atomic_t dataref;
void *destructor_arg;
skb_frag_t frags[16];
};
riscv64
: ✅struct skb_shared_info {
__u8 __unused;
__u8 meta_len;
__u8 nr_frags;
__u8 tx_flags;
short unsigned int gso_size;
short unsigned int gso_segs;
struct sk_buff *frag_list;
struct skb_shared_hwtstamps hwtstamps;
unsigned int gso_type;
u32 tskey;
atomic_t dataref;
void *destructor_arg;
skb_frag_t frags[17];
};
aws
: ✅struct skb_shared_info {
__u8 __unused;
__u8 meta_len;
__u8 nr_frags;
__u8 tx_flags;
short unsigned int gso_size;
short unsigned int gso_segs;
struct sk_buff *frag_list;
struct skb_shared_hwtstamps hwtstamps;
unsigned int gso_type;
u32 tskey;
atomic_t dataref;
void *destructor_arg;
skb_frag_t frags[17];
};
azure
: ✅struct skb_shared_info {
__u8 __unused;
__u8 meta_len;
__u8 nr_frags;
__u8 tx_flags;
short unsigned int gso_size;
short unsigned int gso_segs;
struct sk_buff *frag_list;
struct skb_shared_hwtstamps hwtstamps;
unsigned int gso_type;
u32 tskey;
atomic_t dataref;
void *destructor_arg;
skb_frag_t frags[17];
};
gcp
: ✅struct skb_shared_info {
__u8 __unused;
__u8 meta_len;
__u8 nr_frags;
__u8 tx_flags;
short unsigned int gso_size;
short unsigned int gso_segs;
struct sk_buff *frag_list;
struct skb_shared_hwtstamps hwtstamps;
unsigned int gso_type;
u32 tskey;
atomic_t dataref;
void *destructor_arg;
skb_frag_t frags[17];
};
lowlatency
: ✅struct skb_shared_info {
__u8 __unused;
__u8 meta_len;
__u8 nr_frags;
__u8 tx_flags;
short unsigned int gso_size;
short unsigned int gso_segs;
struct sk_buff *frag_list;
struct skb_shared_hwtstamps hwtstamps;
unsigned int gso_type;
u32 tskey;
atomic_t dataref;
void *destructor_arg;
skb_frag_t frags[17];
};
Regular
4.4
and 4.8
✅
4.8
and 4.10
✅
4.10
and 4.13
⚠️short unsigned int _unused
short unsigned int gso_type
➡️ unsigned int gso_type
4.13
and 4.15
⚠️__u8 __unused
__u8 meta_len
short unsigned int _unused
__be32 ip6_frag_id
unsigned char nr_frags
➡️ __u8 nr_frags
4.15
and 4.18
✅
4.18
and 5.0
✅
5.0
and 5.3
✅
5.3
and 5.4
✅
5.4
and 5.8
✅
5.8
and 5.11
✅
5.11
and 5.13
⚠️__u8 flags
__u8 __unused
5.13
and 5.15
✅
5.15
and 5.19
⚠️unsigned int xdp_frags_size
5.19
and 6.2
✅
6.2
and 6.5
✅
6.5
and 6.8
⚠️struct xsk_tx_metadata_compl xsk_meta
amd64
and arm64
✅
amd64
and armhf
✅
amd64
and ppc64el
⚠️skb_frag_t frags[17]
➡️ skb_frag_t frags[16]
amd64
and riscv64
✅
generic
and aws
✅
generic
and azure
✅
generic
and gcp
✅
generic
and lowlatency
✅