1*737433c6SMatt Fleming /* SPDX-License-Identifier: GPL-2.0-only */ 2*737433c6SMatt Fleming 3*737433c6SMatt Fleming #ifndef __PROGS_LPM_TRIE_H 4*737433c6SMatt Fleming #define __PROGS_LPM_TRIE_H 5*737433c6SMatt Fleming 6*737433c6SMatt Fleming struct trie_key { 7*737433c6SMatt Fleming __u32 prefixlen; 8*737433c6SMatt Fleming __u32 data; 9*737433c6SMatt Fleming }; 10*737433c6SMatt Fleming 11*737433c6SMatt Fleming /* Benchmark operations */ 12*737433c6SMatt Fleming enum { 13*737433c6SMatt Fleming LPM_OP_NOOP = 0, 14*737433c6SMatt Fleming LPM_OP_BASELINE, 15*737433c6SMatt Fleming LPM_OP_LOOKUP, 16*737433c6SMatt Fleming LPM_OP_INSERT, 17*737433c6SMatt Fleming LPM_OP_UPDATE, 18*737433c6SMatt Fleming LPM_OP_DELETE, 19*737433c6SMatt Fleming LPM_OP_FREE 20*737433c6SMatt Fleming }; 21*737433c6SMatt Fleming 22*737433c6SMatt Fleming /* 23*737433c6SMatt Fleming * Return values from run_bench. 24*737433c6SMatt Fleming * 25*737433c6SMatt Fleming * Negative values are also allowed and represent kernel error codes. 26*737433c6SMatt Fleming */ 27*737433c6SMatt Fleming #define LPM_BENCH_SUCCESS 0 28*737433c6SMatt Fleming #define LPM_BENCH_REINIT_MAP 1 /* Reset trie to initial state for current op */ 29*737433c6SMatt Fleming 30*737433c6SMatt Fleming #endif 31