| 57 | } |
| 58 | |
| 59 | static uint64_t |
| 60 | acl_dfa_gen_idx(const struct rte_acl_node *node, uint32_t index) |
| 61 | { |
| 62 | uint64_t idx; |
| 63 | uint32_t i; |
| 64 | |
| 65 | idx = 0; |
| 66 | for (i = 0; i != RTE_DIM(node->dfa_gr64); i++) { |
| 67 | RTE_ACL_VERIFY(node->dfa_gr64[i] < RTE_ACL_DFA_GR64_NUM); |
| 68 | RTE_ACL_VERIFY(node->dfa_gr64[i] < node->fanout); |
| 69 | idx |= (i - node->dfa_gr64[i]) << |
| 70 | (6 + RTE_ACL_DFA_GR64_BIT * i); |
| 71 | } |
| 72 | |
| 73 | return idx << (CHAR_BIT * sizeof(index)) | index | node->node_type; |
| 74 | } |
| 75 | |
| 76 | static void |
| 77 | acl_dfa_fill_gr64(const struct rte_acl_node *node, |