当前位置: 技术问答>linux和unix
关于在网卡驱动层对数据包进行skb_put和skb_trim的问题
来源: 互联网 发布时间:2017-05-19
本文导语: 目前在项目开发过程中有两台运行centOS的pc1和pc2,发送数据时在pc1的网卡驱动层对skb数据包执行skb_put操作,即在skb的tailroom扩充指定大小的空间,然后接收数据时在pc2的网卡驱动层对skb数据包执行skb_trim操作 ...
目前在项目开发过程中有两台运行centOS的pc1和pc2,发送数据时在pc1的网卡驱动层对skb数据包执行skb_put操作,即在skb的tailroom扩充指定大小的空间,然后接收数据时在pc2的网卡驱动层对skb数据包执行skb_trim操作
遇到的问题是上层的应用程序无法在pc1和pc2之间建立正常的tcp连接
两台pc可以互相ping通,所以我初步怀疑是tcp校验的问题,但是我是在网卡驱动层对数据包进行的操作,对端pc在收到数据之后已经在网卡驱动层执行skb_trim的操作了,按照我的理解不会影响正常数据的TCP校验,忘高人指点一下,谢谢!
遇到的问题是上层的应用程序无法在pc1和pc2之间建立正常的tcp连接
两台pc可以互相ping通,所以我初步怀疑是tcp校验的问题,但是我是在网卡驱动层对数据包进行的操作,对端pc在收到数据之后已经在网卡驱动层执行skb_trim的操作了,按照我的理解不会影响正常数据的TCP校验,忘高人指点一下,谢谢!
|
调试 + 抓包