Chinaunix

标题: 内核 jhash [打印本页]

作者: ryan3216    时间: 2009-10-06 10:37
提示: 作者被禁止或删除 内容自动屏蔽
作者: eexplorer    时间: 2009-10-06 10:37
标题: 回复 #3 ryan3216 的帖子
版主不在,我来代劳吧

return (jhash_3words(tuple->src.ip,
158                             (tuple->dst.ip ^ tuple->dst.protonum),
159                             (tuple->src.u.all | (tuple->dst.u.all << 16)),
160                             ip_conntrack_hash_rnd) % ip_conntrack_htable_size);
                                                                               ^^^^^^^^^^^^^^^^

jhash完之后再取余的。
作者: ryan3216    时间: 2009-10-09 21:03
提示: 作者被禁止或删除 内容自动屏蔽
作者: ryan3216    时间: 2009-10-10 06:25
提示: 作者被禁止或删除 内容自动屏蔽
作者: ryan3216    时间: 2009-10-11 16:07
提示: 作者被禁止或删除 内容自动屏蔽
作者: linux_sjj    时间: 2016-05-10 17:02
回复 2# eexplorer


    大哥,这个jhash能保证请求端和相应段获取的值是一样的?
作者: nswcfd    时间: 2016-05-11 09:36
高版本不是直接取余数,而是使用 reciprocal_scale

http://lxr.free-electrons.com/so ... nntrack_core.c#L161
作者: nswcfd    时间: 2016-05-11 09:41
6楼是否在问,如果把五元组的source/dest交换一下,得到的hash值是否一样?
---------- 肯定是不一样的,要不然就没有必要挂两个hash_node了。

如果理解错了问题,勿怪。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2