2011-02-11 61 views
2

根據http://kerneltrap.org/mailarchive/linux-netdev/2007/9/23/272755,Linux不會爲發往回送接口的數據包生成完整校驗和。我想強制UDP校驗和。我怎樣才能做到這一點?如何強制UDP數據的完整校驗和?

+0

你爲什麼要校驗一個綁定到本地機器的數據包?你是否擔心它會在RAM和其他RAM之間損壞? – Borealid 2011-02-11 01:16:52

+0

否;)。我正在攔截本地機器上的數據包,進行一些處理,然後將其發送出去。 – Mike 2011-02-11 01:17:47

回答

0

的校驗是可選的UDP,您還可以將其設置爲0。

如果你需要它的一些原因,你爲什麼不自己創建校驗?例如: -

http://www.netfor2.com/udpsum.htm

然後(至少如果你使用原始套接字,我不知道你可以用普通的UDP套接字做到這一點)剛剛更新與計算的校驗數據包。

0

問題在於你的網卡有硬件校驗和支持,而Linux正在使用它,因此從不在內核中設置校驗和。嘗試禁用硬件校驗和,但要注意性能開銷。