协议分析
dpi相关
tianer1123
略懂略懂
展开
-
dpdk多线程访问hs的database
1. hs_scratch_t Hyperscan在扫描数据的时候,需要少量的临时空间来存储动态的内部数据。 2. 只有1个核但有多个数据库 只有1个核,但有多个数据库时 只需要一个临时区域,使用hs_alloc_scratch()来分配。 为每个数据库调用hs_alloc_scratch()来确保分配的临时空间足够大。 3. 有一个主进程,多个备进程的情况 在有多个核同时工作的场...原创 2019-12-24 13:18:55 · 972 阅读 · 0 评论 -
hyperscan开发碰到的问题
1. dpdk多线程使用hyperscan模式查询,访问全局的db时报错。 应该使用rte_malloc()和rte_free()为hyperscan分配内存。如下: void *hs_rte_malloc(size_t *size) { return rte_malloc("hs_malloc", size, 0); } void hs_rte_free(void *ptr) {...原创 2019-12-24 13:16:03 · 1644 阅读 · 1 评论 -
编译hyperscan
1. 需要的环境 hyperscan官方开发文档 1.1 硬件环境 Intel X86平台32位或者64位都可以运行。另外hyperscan在编译时可以添加一些新的特性,如果系统支持: Intel Streaming SIMD Extensions 4.2 (SSE4.2) POPCNT指令 BMI, BMI2指令 Intel AVX2指令 例如: cmake -DCMAKE_C_FLAGS...原创 2019-12-18 11:39:44 · 1858 阅读 · 0 评论