xref: /linux/tools/testing/selftests/bpf/progs/lpm_trie.h (revision 737433c6a559c4e8acb065cfe9b6e2ff45ad655c)
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