diff options
| author | Qiuwen Lu <[email protected]> | 2017-08-10 11:22:03 +0800 |
|---|---|---|
| committer | Qiuwen Lu <[email protected]> | 2017-08-10 11:22:03 +0800 |
| commit | c63fa2c373a96e1452a14ce1f3e41aab58e6a1fe (patch) | |
| tree | 871c4e73c90980d0b3f907603b9f0b0c4aa084e0 /tunnat | |
| parent | 993fce5191273f9482eb4c85d8df7329669249a4 (diff) | |
修正TUNNAT中Session表Key比较操作回调函数中返回值错误的问题。
- 原实现无论Key是否相等,返回值均为0,即相等,导致无法添加新的Session;
- 查现场统计计数,SessionAdd操作的计数为4096,与Hash表的槽数相等。为什么不为1?因为检查Key是否相等的回调函数是在Hash到桶之后进行的。
Diffstat (limited to 'tunnat')
| -rw-r--r-- | tunnat/src/session.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/tunnat/src/session.cc b/tunnat/src/session.cc index c927acf..bcd76ee 100644 --- a/tunnat/src/session.cc +++ b/tunnat/src/session.cc @@ -99,7 +99,7 @@ int SessionTable::htable_comp_fun_cb(const uchar * key1, uint size1, const uchar if ((__key1->s_in_addr.s_addr == __key2->s_in_addr.s_addr) && (__key1->d_in_addr.s_addr == __key2->d_in_addr.s_addr)) return 0; - return 0; + return 1; } int SessionTable::htable_free_fun_cb(void * data) |
