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

Function get_vector_fn

dpdk/lib/fib/trie.c:45–68  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

43}
44
45static inline rte_fib6_lookup_fn_t
46get_vector_fn(enum rte_fib_trie_nh_sz nh_sz)
47{
48#ifdef CC_TRIE_AVX512_SUPPORT
49 if (rte_cpu_get_flag_enabled(RTE_CPUFLAG_AVX512F) <= 0 ||
50 rte_cpu_get_flag_enabled(RTE_CPUFLAG_AVX512DQ) <= 0 ||
51 rte_cpu_get_flag_enabled(RTE_CPUFLAG_AVX512BW) <= 0 ||
52 rte_vect_get_max_simd_bitwidth() < RTE_VECT_SIMD_512)
53 return NULL;
54 switch (nh_sz) {
55 case RTE_FIB6_TRIE_2B:
56 return rte_trie_vec_lookup_bulk_2b;
57 case RTE_FIB6_TRIE_4B:
58 return rte_trie_vec_lookup_bulk_4b;
59 case RTE_FIB6_TRIE_8B:
60 return rte_trie_vec_lookup_bulk_8b;
61 default:
62 return NULL;
63 }
64#else
65 RTE_SET_USED(nh_sz);
66#endif
67 return NULL;
68}
69
70rte_fib6_lookup_fn_t
71trie_get_lookup_fn(void *p, enum rte_fib6_lookup_type type)

Callers 1

trie_get_lookup_fnFunction · 0.70

Calls 2

rte_cpu_get_flag_enabledFunction · 0.50

Tested by

no test coverage detected