jjzjj

linux - skbuff frags 和 frag_list 的区别

sk_buff有两个地方可以存储下一个碎片数据:skb_shinfo(head)->frag_listskb_shinfo(head)->frags[]这两种处理碎片的方式有什么区别? 最佳答案 两者用于不同的情况。碎片[]当您的设备支持分散-聚集I/O,并且您希望它进行数据组合等操作时,您可以从第二个片段开始填充frags[]结构,直到第n个片段。第一个片段总是由data和tail指针指定。其余的片段填充在frags[]结构中。如果不使用scattergather,则此变量为空。片段列表这是IP片段的列表。这将在ip_push_p