MCPcopy Create free account
hub / github.com/F-Stack/f-stack / acl_gen_range_high

Function acl_gen_range_high

dpdk/lib/acl/acl_bld.c:835–858  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

833}
834
835static void
836acl_gen_range_high(struct acl_build_context *context, struct rte_acl_node *root,
837 struct rte_acl_node *end, const uint8_t *hi, int size, int level)
838{
839 struct rte_acl_node *node;
840 uint32_t n;
841
842 n = size - 1;
843 if (n == 0) {
844 acl_add_ptr_range(context, root, end, 0, hi[0]);
845 return;
846 }
847
848 node = acl_alloc_node(context, level++);
849 acl_add_ptr_range(context, root, node, hi[n], hi[n]);
850
851 /* generate upper-bound sub-trie */
852 acl_gen_range_high(context, node, end, hi, n, level);
853
854 /* generate middle sub-trie */
855 if (n > 1 && hi[n - 1] != 0)
856 acl_gen_range_mdl(context, node, end, 0, hi[n - 1] - 1,
857 n, level);
858}
859
860static struct rte_acl_node *
861acl_gen_range_trie(struct acl_build_context *context,

Callers 1

acl_gen_range_trieFunction · 0.85

Calls 3

acl_add_ptr_rangeFunction · 0.85
acl_alloc_nodeFunction · 0.85
acl_gen_range_mdlFunction · 0.85

Tested by

no test coverage detected