struct skb_shared_info成员姐
时间: 2023-09-16 09:11:44 浏览: 199
`struct skb_shared_info` 是 Linux 内核中的一个数据结构,用于存储网络数据包的一些共享信息。它的成员如下:
- `__u16 nr_frags`:数据包中分片的数量。
- `__u16 gso_size`:如果数据包被 TCP 分段,则表示每个分段的大小。
- `__u16 gso_segs`:如果数据包被 TCP 分段,则表示分成的分段数量。
- `__u16 gso_type`:如果数据包被 TCP 分段,则表示分段方式的类型。
- `atomic_t _refcnt`:数据包的引用计数。
- `int hdr_len`:数据包头部的长度。
- `__u16 gso_partial`:如果数据包被 TCP 分段,则表示最后一个分段的大小。
- `__u16 csum_offset`:校验和的偏移量。
- `__u16 csum_start`:校验和的起始位置。
- `unsigned int dataref`:数据包中数据部分的引用计数。
- `struct sk_buff *frag_list`:分片的列表。
- `struct sk_buff *frag_list_last`:分片的最后一个元素。
- `__u32 tx_flags`:数据包的传输标志。
- `__u32 truesize`:数据包的真实大小。
- `struct sk_buff *cloned`:如果数据包是克隆的,则指向原始数据包。
- `void *destructor_arg`:数据包销毁时调用的函数的参数。
- `skb_frag_t frags[MAX_SKB_FRAGS]`:分片的数组。
`skb_shared_info` 中的一些成员变量与数据包的 TCP 分段相关,其他成员变量则是用于管理数据包的引用计数、校验和、分片等信息。
阅读全文