| 293 | } |
| 294 | |
| 295 | int32_t |
| 296 | test_tree_traversal(void) |
| 297 | { |
| 298 | struct rte_rib6 *rib = NULL; |
| 299 | struct rte_rib6_node *node; |
| 300 | struct rte_rib6_conf config; |
| 301 | |
| 302 | uint8_t ip[RTE_RIB6_IPV6_ADDR_SIZE] = {10, 0, 2, 130, 0, 0, 0, 0, |
| 303 | 0, 0, 0, 0, 0, 0, 0, 0}; |
| 304 | uint8_t ip1[RTE_RIB6_IPV6_ADDR_SIZE] = {10, 0, 2, 0, 0, 0, 0, 0, |
| 305 | 0, 0, 0, 0, 0, 0, 0, 0}; |
| 306 | uint8_t ip2[RTE_RIB6_IPV6_ADDR_SIZE] = {10, 0, 2, 130, 0, 0, 0, 0, |
| 307 | 0, 0, 0, 0, 0, 0, 0, 80}; |
| 308 | uint8_t depth = 126; |
| 309 | |
| 310 | config.max_nodes = MAX_RULES; |
| 311 | config.ext_sz = 0; |
| 312 | |
| 313 | rib = rte_rib6_create(__func__, SOCKET_ID_ANY, &config); |
| 314 | RTE_TEST_ASSERT(rib != NULL, "Failed to create RIB\n"); |
| 315 | |
| 316 | node = rte_rib6_insert(rib, ip1, depth); |
| 317 | RTE_TEST_ASSERT(node != NULL, "Failed to insert rule\n"); |
| 318 | node = rte_rib6_insert(rib, ip2, depth); |
| 319 | RTE_TEST_ASSERT(node != NULL, "Failed to insert rule\n"); |
| 320 | |
| 321 | node = NULL; |
| 322 | node = rte_rib6_get_nxt(rib, ip, 32, node, RTE_RIB6_GET_NXT_ALL); |
| 323 | RTE_TEST_ASSERT(node != NULL, "Failed to get rib_node\n"); |
| 324 | |
| 325 | rte_rib6_free(rib); |
| 326 | |
| 327 | return TEST_SUCCESS; |
| 328 | } |
| 329 | |
| 330 | static struct unit_test_suite rib6_tests = { |
| 331 | .suite_name = "rib6 autotest", |
nothing calls this directly
no test coverage detected