if (index != RTE_ACL_NODE_DFA) {
/* calc address for a QRANGE/SINGLE node */
c = (uint32_t)input * SCALAR_QRANGE_MULT;
a = ranges | SCALAR_QRANGE_MIN;
a -= (c & SCALAR_QRANGE_MASK);
b = c & SCALAR_QRANGE_MIN;
a &= SCALAR_QRANGE_MIN;
a ^= (ranges ^ b) & (a ^ b);
x = scan_forward(a, 32) >> 3;,作者你知道这段代码的原理吗?实在看不出怎么处理的
DPDK ACL算法介绍DPDK提供了三种classify算法:最长匹配LPM、精确匹配(Exact Match)和通配符匹配(ACL)。 其中的ACL算法,本质是步长为8的Multi-Bit Tr...