dpdk-acl库初探

总体流程

table1:

asm文件的匹配域、参数以及执行表项->查找树->跳转表

asm文件的匹配域、参数以及执行表项:

entry1 08(ff) 06(ff) … 执行outp 0

entry2 08(ff) 00(ff) … 执行outp 1

匹配值(掩码):if(数据包对应区域值 与 掩码 == 匹配值) then 匹配成功,向下匹配或者执行命令

查找树

根据asm文件某个流表形成的匹配执行查找树,最简化

08 -> 06 -> … -> entry0

-> 00 -> … -> entry1

类似tried树

跳转表

结合bitmap等思想的哈希表,最终代码的查询结构