* Check that rte_fib_create fails gracefully for incorrect user input * arguments */
| 30 | * arguments |
| 31 | */ |
| 32 | int32_t |
| 33 | test_create_invalid(void) |
| 34 | { |
| 35 | struct rte_fib *fib = NULL; |
| 36 | struct rte_fib_conf config; |
| 37 | |
| 38 | config.max_routes = MAX_ROUTES; |
| 39 | config.rib_ext_sz = 0; |
| 40 | config.default_nh = 0; |
| 41 | config.type = RTE_FIB_DUMMY; |
| 42 | |
| 43 | /* rte_fib_create: fib name == NULL */ |
| 44 | fib = rte_fib_create(NULL, SOCKET_ID_ANY, &config); |
| 45 | RTE_TEST_ASSERT(fib == NULL, |
| 46 | "Call succeeded with invalid parameters\n"); |
| 47 | |
| 48 | /* rte_fib_create: config == NULL */ |
| 49 | fib = rte_fib_create(__func__, SOCKET_ID_ANY, NULL); |
| 50 | RTE_TEST_ASSERT(fib == NULL, |
| 51 | "Call succeeded with invalid parameters\n"); |
| 52 | |
| 53 | /* socket_id < -1 is invalid */ |
| 54 | fib = rte_fib_create(__func__, -2, &config); |
| 55 | RTE_TEST_ASSERT(fib == NULL, |
| 56 | "Call succeeded with invalid parameters\n"); |
| 57 | |
| 58 | /* rte_fib_create: max_routes = 0 */ |
| 59 | config.max_routes = 0; |
| 60 | fib = rte_fib_create(__func__, SOCKET_ID_ANY, &config); |
| 61 | RTE_TEST_ASSERT(fib == NULL, |
| 62 | "Call succeeded with invalid parameters\n"); |
| 63 | config.max_routes = MAX_ROUTES; |
| 64 | |
| 65 | config.type = RTE_FIB_DIR24_8 + 1; |
| 66 | fib = rte_fib_create(__func__, SOCKET_ID_ANY, &config); |
| 67 | RTE_TEST_ASSERT(fib == NULL, |
| 68 | "Call succeeded with invalid parameters\n"); |
| 69 | |
| 70 | config.type = RTE_FIB_DIR24_8; |
| 71 | config.dir24_8.num_tbl8 = MAX_TBL8; |
| 72 | |
| 73 | config.dir24_8.nh_sz = RTE_FIB_DIR24_8_8B + 1; |
| 74 | fib = rte_fib_create(__func__, SOCKET_ID_ANY, &config); |
| 75 | RTE_TEST_ASSERT(fib == NULL, |
| 76 | "Call succeeded with invalid parameters\n"); |
| 77 | config.dir24_8.nh_sz = RTE_FIB_DIR24_8_8B; |
| 78 | |
| 79 | config.dir24_8.num_tbl8 = 0; |
| 80 | fib = rte_fib_create(__func__, SOCKET_ID_ANY, &config); |
| 81 | RTE_TEST_ASSERT(fib == NULL, |
| 82 | "Call succeeded with invalid parameters\n"); |
| 83 | |
| 84 | return TEST_SUCCESS; |
| 85 | } |
| 86 | |
| 87 | /* |
| 88 | * Create fib table then delete fib table 10 times |
nothing calls this directly
no test coverage detected