|
|
|
|
移动端

3.3.3 对GSO的支持

《Linux内核源码剖析:TCP/IP实现》本书详细论述了Linux内核2.6.20版本中TCP/IP的实现。书中给出了大量的源代码,通过对源代码的详细注释,帮助读者掌握TCP/IP的实现。本节为大家介绍对GSO的支持。

作者:樊东东/莫澜来源:机械工业出版社|2012-06-28 10:04

开发者盛宴来袭!7月28日51CTO首届开发者大赛决赛带来技术创新分享

3.3.3  对GSO的支持

有些网络设备硬件可以完成一些传统上由CPU完成的任务,最常见的例子就是计算三层和四层校验和。有些网络设备甚至可以维护四层协议的状态机,由硬件完成分段或分片,因此传输层通过网络层提交给网络设备时可能是个GSO段,参见1.3.1节。本节论述SKB的成员都是用来支持GSO的。

  1. 136 unsigned short gso_size 
生成GSO段时的MSS,因为GSO段的长度是与发送该段的套接口中合适MSS的整数倍。
  1. 138 unsigned short gso_segs 
GSO段的长度是gso_size的倍数,即用gso_size来分割大段时产生的段数。
  1. 139 unsigned short gso_type 

该SKB中的数据支持的GSO类型,见表3-5。

表3-5  gso_type的取值

gso_type

描述

SKB_GSO_TCPV4

IPv4TCP段卸载

SKB_GSO_UDP

IPv4UDP分片卸载

SKB_GSO_DODGY

表明数据报是从一个不可信赖的来源发出的

SKB_GSO_TCP_ECN

IPv4TCP段卸载,当设置TCP首部的CWR时,

使用此gos_typeCWR参见29.4

SKB_GSO_TCPV6

IPv6TCP段卸载

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

主流ARM嵌入式系统设计技术与实例精解

本书重点介绍了主流ARM应用系统的开发与实践。全书基于目前较为通用、流行的ARM处理器,介绍了其原理、硬件结构、硬件电路设计与开发和软件...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊