2013-03-12 45 views
3

我正在編程一個linux網絡驅動程序。這幾乎完成了。當我在兩臺PC之間ping時,一切都很完美。然後我嘗試使用一些TCP/UDP協議,接收器從不回覆。我使用wireshark來查看發生了什麼,並且我發現所有TCP數據包都有不正確的校驗和。據說錯誤的校驗和是由TCP校驗和卸載造成的。我試圖用ethtool關閉它。當我使用sudo ethtool -K uwn0 tx off,它回答了我編程Linux網絡驅動程序以支持關閉TCP校驗和卸載

Cannot get device rx-checksumming settings: Operation not supported 
Cannot get device tx-checksumming settings: Operation not supported 
Cannot get device scatter-gather settings: Operation not supported 
Cannot get device tcp-segmentation-offload settings: Operation not supported 
Cannot get device udp-fragmentation-offload settings: Operation not supported 
Cannot get device generic-segmentation-offload settings: Operation not supported 
Cannot get device generic-receive-offload settings: Operation not supported 
Cannot get device flags: Operation not supported 

有沒有辦法讓我的驅動程序支持TCP校驗和卸載?或者只是在軟件中計算校驗和? 謝謝

+0

這是一個很好的問題,但應該在http://serverfault.com/ – 2013-03-12 21:20:14

+4

@JamesC不在,它屬於這裏,因爲它是關於*編寫網絡設備驅動程序*而不是如何配置現有的驅動程序。 – zwol 2013-03-12 21:21:02

回答