注册 登录
自由的生活_软路由 返回首页

心想事成的个人空间 https://bbs.routerclub.com/?681 [收藏] [复制] [分享] [RSS]

日志

在内核计算tcp ip的增量校验

已有 3028 次阅读2013-3-11 22:52


 
最近做一个程序,修改了ip包,于是要做校验。
搜索到了哥德巴赫猜想 的《增量式修改检验和(IP, TCP, UDP)算法的研究和实现》
抄了里面的代码,用来算ip的sum是正确的,算tcp的sum就不时出错(不正确),于是用google找啊找。
原来内核的源码里就有现成的增量计算csum的函数。
参考了net/netfilter/xt_TCPMSS.c的代码,然后在include/net/checksum.h里就看到csum的实现,
分别是csum_replace4和csum_replace4还有inet_proto_csum_replace2,用于2字节,4字节的cum更新的。
换上去,一切OK牛!

路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-5-10 07:20 , Processed in 0.070188 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

返回顶部