亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標(biāo)題:
在驅(qū)動(dòng)層做NAT之后,tcp的校驗(yàn)和總是出錯(cuò)。
[打印本頁(yè)]
作者:
FlankerSky
時(shí)間:
2013-08-26 19:00
標(biāo)題:
在驅(qū)動(dòng)層做NAT之后,tcp的校驗(yàn)和總是出錯(cuò)。
最近項(xiàng)目上有個(gè)奇葩的需求,要用到虛擬網(wǎng)卡,于是我在e1000e的驅(qū)動(dòng)里集成了snull(ldd3中的那個(gè)虛擬網(wǎng)卡代碼)。大概結(jié)構(gòu)如圖所示
M3U0Y~MBYX574I4VO$[(SZR.jpg
(52.01 KB, 下載次數(shù): 49)
下載附件
2013-08-26 18:50 上傳
。
數(shù)據(jù)包從eth0進(jìn)來(lái),做個(gè)dnat到snull,然后snull的數(shù)據(jù)包做個(gè)snat從eth0發(fā)送出去,現(xiàn)在的問題是,數(shù)據(jù)包發(fā)送出去了,對(duì)端無(wú)法接收,單步跟了下,發(fā)現(xiàn)是在tcp校驗(yàn)的時(shí)候失敗了。
剛開始以為,改過地址后,校驗(yàn)和算錯(cuò)了,但后來(lái)把所有的關(guān)于ip地址,mac地址的改動(dòng)都去掉后(相當(dāng)于沒有做snat),直接發(fā)送出去,抓包發(fā)現(xiàn),tcp->check的值變掉了。貌似是網(wǎng)卡對(duì)數(shù)據(jù)重新做了校驗(yàn)發(fā)送出去了,但是用這個(gè)命令ethtool -K eth0 tx off 關(guān)掉網(wǎng)卡的發(fā)送校驗(yàn)之后,發(fā)現(xiàn)還是一樣的現(xiàn)象,實(shí)在想不到什么原因了,望知道的朋友幫幫解解惑。先謝過了
作者:
FlankerSky
時(shí)間:
2013-08-26 19:16
補(bǔ)充下:skb->dev也改過了。在e1000e的手冊(cè)里,沒有找到控制發(fā)送校驗(yàn)的控制寄存器,只找到了用于控制接收校驗(yàn)的寄存器。不知道是不是硬件校驗(yàn)的原因
各路大神,給點(diǎn)提示,拜托了
作者:
FlankerSky
時(shí)間:
2013-08-27 08:23
碉堡了,看來(lái)是問題太奇葩了。
作者:
Godbach
時(shí)間:
2013-08-27 10:00
回復(fù)
1#
FlankerSky
根據(jù)你的觀察,到底是校驗(yàn)和正確了,還是仍然不正確。
修改之后,對(duì)端可以正確接收 TCP 報(bào)文了嗎
作者:
godvmxi
時(shí)間:
2013-08-27 13:56
虛擬網(wǎng)卡直接自己軟件層添加就行了。。。干嘛要在驅(qū)動(dòng)層
作者:
FlankerSky
時(shí)間:
2013-09-13 13:13
回復(fù)
4#
Godbach
不好意思,好幾天了,放假回家了。確實(shí)是校驗(yàn)和算錯(cuò)了,改了一下校驗(yàn)和的算法,現(xiàn)在可以了。謝了
作者:
FlankerSky
時(shí)間:
2013-09-13 13:19
回復(fù)
5#
godvmxi
這個(gè)虛擬網(wǎng)卡是修改的LDD中的例子,目的也是為了能修改物理網(wǎng)卡的數(shù)據(jù),功能的話就是希望能坐一個(gè)snat dnat,當(dāng)中還得對(duì)數(shù)據(jù)內(nèi)容做些修改,不知道netfilter能不能實(shí)現(xiàn),所以就想在網(wǎng)卡里做了,不知道兄弟說(shuō)的軟件曾添加是什么意思,還請(qǐng)指點(diǎn)。
歡迎光臨 Chinaunix (http://www.72891.cn/)
Powered by Discuz! X3.2