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

Function __test_lookup_adv

dpdk/app/test/test_ipsec_sad.c:424–633  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

422}
423
424static int32_t
425__test_lookup_adv(int ipv6, union rte_ipsec_sad_key *tuple,
426 const union rte_ipsec_sad_key **key_arr)
427{
428 int status;
429 struct rte_ipsec_sad *sad = NULL;
430 struct rte_ipsec_sad_conf config;
431 uint64_t tmp1, tmp2, tmp3;
432 void *install_sa;
433 void *sa[4];
434
435 config.max_sa[RTE_IPSEC_SAD_SPI_ONLY] = MAX_SA;
436 config.max_sa[RTE_IPSEC_SAD_SPI_DIP] = MAX_SA;
437 config.max_sa[RTE_IPSEC_SAD_SPI_DIP_SIP] = MAX_SA;
438 config.socket_id = SOCKET_ID_ANY;
439 config.flags = 0;
440 if (ipv6)
441 config.flags = RTE_IPSEC_SAD_FLAG_IPV6;
442 sad = rte_ipsec_sad_create(__func__, &config);
443 RTE_TEST_ASSERT_NOT_NULL(sad, "Failed to create SAD\n");
444
445 /* lookup with empty table */
446 status = rte_ipsec_sad_lookup(sad, key_arr, sa, 4);
447 RTE_TEST_ASSERT(status == 0, "Lookup returns an unexpected result\n");
448 RTE_TEST_ASSERT(sa[0] == NULL,
449 "Lookup returns an unexpected result\n");
450 RTE_TEST_ASSERT(sa[1] == NULL,
451 "Lookup returns an unexpected result\n");
452 RTE_TEST_ASSERT(sa[2] == NULL,
453 "Lookup returns an unexpected result\n");
454 RTE_TEST_ASSERT(sa[3] == NULL,
455 "Lookup returns an unexpected result\n");
456
457 /* lookup with one RTE_IPSEC_SAD_SPI_ONLY rule */
458 install_sa = &tmp1;
459 status = rte_ipsec_sad_add(sad, tuple,
460 RTE_IPSEC_SAD_SPI_ONLY, install_sa);
461 RTE_TEST_ASSERT(status == 0, "Failed to add a rule\n");
462
463 status = rte_ipsec_sad_lookup(sad, key_arr, sa, 4);
464 RTE_TEST_ASSERT(status == 3, "Lookup returns an unexpected result\n");
465 RTE_TEST_ASSERT(sa[0] == &tmp1,
466 "Lookup returns an unexpected result\n");
467 RTE_TEST_ASSERT(sa[1] == &tmp1,
468 "Lookup returns an unexpected result\n");
469 RTE_TEST_ASSERT(sa[2] == &tmp1,
470 "Lookup returns an unexpected result\n");
471 RTE_TEST_ASSERT(sa[3] == NULL,
472 "Lookup returns an unexpected result\n");
473
474 status = rte_ipsec_sad_del(sad, tuple, RTE_IPSEC_SAD_SPI_ONLY);
475 RTE_TEST_ASSERT(status == 0, "Failde to delete a rule\n");
476
477 /* lookup with one RTE_IPSEC_SAD_SPI_DIP rule */
478 install_sa = &tmp2;
479 status = rte_ipsec_sad_add(sad, tuple,
480 RTE_IPSEC_SAD_SPI_DIP, install_sa);
481 RTE_TEST_ASSERT(status == 0, "failed to add a rule\n");

Callers 1

test_lookup_advFunction · 0.85

Calls 5

rte_ipsec_sad_createFunction · 0.85
rte_ipsec_sad_lookupFunction · 0.85
rte_ipsec_sad_addFunction · 0.85
rte_ipsec_sad_delFunction · 0.85
rte_ipsec_sad_destroyFunction · 0.85

Tested by

no test coverage detected