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

Function check_fib

dpdk/app/test/test_fib6.c:269–334  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

267}
268
269static int
270check_fib(struct rte_fib6 *fib)
271{
272 uint64_t def_nh = 100;
273 uint8_t ip_arr[RTE_FIB6_MAXDEPTH][RTE_FIB6_IPV6_ADDR_SIZE];
274 uint8_t ip_add[RTE_FIB6_IPV6_ADDR_SIZE] = {0};
275 uint8_t ip_missing[1][RTE_FIB6_IPV6_ADDR_SIZE] = { {255} };
276 uint32_t i, j;
277 int ret;
278
279 ip_add[0] = 128;
280 ip_missing[0][0] = 127;
281 for (i = 0; i < RTE_FIB6_MAXDEPTH; i++) {
282 for (j = 0; j < RTE_FIB6_IPV6_ADDR_SIZE; j++) {
283 ip_arr[i][j] = ip_add[j] |
284 ~get_msk_part(RTE_FIB6_MAXDEPTH - i, j);
285 }
286 }
287
288 ret = lookup_and_check_desc(fib, ip_arr, ip_missing, def_nh, 0);
289 RTE_TEST_ASSERT(ret == TEST_SUCCESS, "Lookup and check fails\n");
290
291 for (i = 1; i <= RTE_FIB6_MAXDEPTH; i++) {
292 ret = rte_fib6_add(fib, ip_add, i, i);
293 RTE_TEST_ASSERT(ret == 0, "Failed to add a route\n");
294 ret = lookup_and_check_asc(fib, ip_arr, ip_missing, def_nh, i);
295 RTE_TEST_ASSERT(ret == TEST_SUCCESS,
296 "Lookup and check fails\n");
297 }
298
299 for (i = RTE_FIB6_MAXDEPTH; i > 1; i--) {
300 ret = rte_fib6_delete(fib, ip_add, i);
301 RTE_TEST_ASSERT(ret == 0, "Failed to delete a route\n");
302 ret = lookup_and_check_asc(fib, ip_arr, ip_missing,
303 def_nh, i - 1);
304
305 RTE_TEST_ASSERT(ret == TEST_SUCCESS,
306 "Lookup and check fails\n");
307 }
308 ret = rte_fib6_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, 0);
311 RTE_TEST_ASSERT(ret == TEST_SUCCESS,
312 "Lookup and check fails\n");
313
314 for (i = 0; i < RTE_FIB6_MAXDEPTH; i++) {
315 ret = rte_fib6_add(fib, ip_add, RTE_FIB6_MAXDEPTH - i,
316 RTE_FIB6_MAXDEPTH - i);
317 RTE_TEST_ASSERT(ret == 0, "Failed to add a route\n");
318 ret = lookup_and_check_desc(fib, ip_arr, ip_missing,
319 def_nh, i + 1);
320 RTE_TEST_ASSERT(ret == TEST_SUCCESS,
321 "Lookup and check fails\n");
322 }
323
324 for (i = 1; i <= RTE_FIB6_MAXDEPTH; i++) {
325 ret = rte_fib6_delete(fib, ip_add, i);
326 RTE_TEST_ASSERT(ret == 0, "Failed to delete a route\n");

Callers 1

test_lookupFunction · 0.70

Calls 5

get_msk_partFunction · 0.85
rte_fib6_addFunction · 0.85
rte_fib6_deleteFunction · 0.85
lookup_and_check_descFunction · 0.70
lookup_and_check_ascFunction · 0.70

Tested by

no test coverage detected