转载部分

45 | 发送网络包(上)

2020-05-24  本文已影响0人  AndyWei123
image.png

sk_buffer 的结构图:


image.png

分散聚合(Scatter/Gather)I/O:顾名思义,就是 IP 层没必要通过内存拷贝进行聚合,让散的数据零散的放在原处,在设备层进行聚合。如果使用这种模式,网络包的数据就不会放在连续的数据区域,而是放在 struct skb_shared_info 结构里面指向的离散数据,skb_shared_info 的成员变量 skb_frag_t frags[MAX_SKB_FRAGS],会指向一个数组的页面,就不能保证连续了

上一篇下一篇

猜你喜欢

热点阅读