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

Function check_fib

dpdk/app/test/test_fib.c:262–316  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

260}
261
262static int
263check_fib(struct rte_fib *fib)
264{
265 uint64_t def_nh = 100;
266 uint32_t ip_arr[RTE_FIB_MAXDEPTH];
267 uint32_t ip_add = RTE_IPV4(128, 0, 0, 0);
268 uint32_t i, ip_missing = RTE_IPV4(127, 255, 255, 255);
269 int ret;
270
271 for (i = 0; i < RTE_FIB_MAXDEPTH; i++)
272 ip_arr[i] = ip_add + (1ULL << i) - 1;
273
274 ret = lookup_and_check_desc(fib, ip_arr, ip_missing, def_nh, 0);
275 RTE_TEST_ASSERT(ret == TEST_SUCCESS, "Lookup and check fails\n");
276
277 for (i = 1; i <= RTE_FIB_MAXDEPTH; i++) {
278 ret = rte_fib_add(fib, ip_add, i, i);
279 RTE_TEST_ASSERT(ret == 0, "Failed to add a route\n");
280 ret = lookup_and_check_asc(fib, ip_arr, ip_missing,
281 def_nh, i);
282 RTE_TEST_ASSERT(ret == TEST_SUCCESS, "Lookup and check fails\n");
283 }
284
285 for (i = RTE_FIB_MAXDEPTH; i > 1; i--) {
286 ret = rte_fib_delete(fib, ip_add, i);
287 RTE_TEST_ASSERT(ret == 0, "Failed to delete a route\n");
288 ret = lookup_and_check_asc(fib, ip_arr, ip_missing,
289 def_nh, i - 1);
290
291 RTE_TEST_ASSERT(ret == TEST_SUCCESS, "Lookup and check fails\n");
292 }
293 ret = rte_fib_delete(fib, ip_add, i);
294 RTE_TEST_ASSERT(ret == 0, "Failed to delete a route\n");
295 ret = lookup_and_check_desc(fib, ip_arr, ip_missing, def_nh, 0);
296 RTE_TEST_ASSERT(ret == TEST_SUCCESS, "Lookup and check fails\n");
297
298 for (i = 0; i < RTE_FIB_MAXDEPTH; i++) {
299 ret = rte_fib_add(fib, ip_add, RTE_FIB_MAXDEPTH - i,
300 RTE_FIB_MAXDEPTH - i);
301 RTE_TEST_ASSERT(ret == 0, "Failed to add a route\n");
302 ret = lookup_and_check_desc(fib, ip_arr, ip_missing,
303 def_nh, i + 1);
304 RTE_TEST_ASSERT(ret == TEST_SUCCESS, "Lookup and check fails\n");
305 }
306
307 for (i = 1; i <= RTE_FIB_MAXDEPTH; i++) {
308 ret = rte_fib_delete(fib, ip_add, i);
309 RTE_TEST_ASSERT(ret == 0, "Failed to delete a route\n");
310 ret = lookup_and_check_desc(fib, ip_arr, ip_missing, def_nh,
311 RTE_FIB_MAXDEPTH - i);
312 RTE_TEST_ASSERT(ret == TEST_SUCCESS, "Lookup and check fails\n");
313 }
314
315 return TEST_SUCCESS;
316}
317
318int32_t
319test_lookup(void)

Callers 1

test_lookupFunction · 0.70

Calls 4

rte_fib_addFunction · 0.85
rte_fib_deleteFunction · 0.85
lookup_and_check_descFunction · 0.70
lookup_and_check_ascFunction · 0.70

Tested by

no test coverage detected