-/*-
- * BSD LICENSE
- *
- * Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Intel Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(c) 2010-2014 Intel Corporation
*/
#include <stdio.h>
test18
};
-#define NUM_LPM_TESTS (sizeof(tests)/sizeof(tests[0]))
#define MAX_DEPTH 32
#define MAX_RULES 256
#define NUMBER_TBL8S 256
config.max_rules = MAX_RULES;
config.number_tbl8s = NUMBER_TBL8S;
config.flags = 0;
- uint32_t ip = IPv4(0, 0, 0, 0), next_hop = 100;
+ uint32_t ip = RTE_IPV4(0, 0, 0, 0), next_hop = 100;
uint8_t depth = 24;
int32_t status = 0;
config.max_rules = MAX_RULES;
config.number_tbl8s = NUMBER_TBL8S;
config.flags = 0;
- uint32_t ip = IPv4(0, 0, 0, 0);
+ uint32_t ip = RTE_IPV4(0, 0, 0, 0);
uint8_t depth = 24;
int32_t status = 0;
config.max_rules = MAX_RULES;
config.number_tbl8s = NUMBER_TBL8S;
config.flags = 0;
- uint32_t ip = IPv4(0, 0, 0, 0), next_hop_return = 0;
+ uint32_t ip = RTE_IPV4(0, 0, 0, 0), next_hop_return = 0;
int32_t status = 0;
/* rte_lpm_lookup: lpm == NULL */
config.max_rules = MAX_RULES;
config.number_tbl8s = NUMBER_TBL8S;
config.flags = 0;
- uint32_t ip = IPv4(0, 0, 0, 0), next_hop_add = 100, next_hop_return = 0;
+ uint32_t ip = RTE_IPV4(0, 0, 0, 0), next_hop_add = 100, next_hop_return = 0;
uint8_t depth = 24;
int32_t status = 0;
config.max_rules = MAX_RULES;
config.number_tbl8s = NUMBER_TBL8S;
config.flags = 0;
- uint32_t ip = IPv4(0, 0, 0, 0), next_hop_add = 100, next_hop_return = 0;
+ uint32_t ip = RTE_IPV4(0, 0, 0, 0), next_hop_add = 100, next_hop_return = 0;
uint8_t depth = 32;
int32_t status = 0;
config.max_rules = MAX_RULES;
config.number_tbl8s = NUMBER_TBL8S;
config.flags = 0;
- uint32_t ip1 = IPv4(127, 255, 255, 255), ip2 = IPv4(128, 0, 0, 0);
+ uint32_t ip1 = RTE_IPV4(127, 255, 255, 255), ip2 = RTE_IPV4(128, 0, 0, 0);
uint32_t next_hop_add, next_hop_return;
uint8_t depth;
int32_t status = 0;
int32_t status = 0;
/* Add & lookup to hit invalid TBL24 entry */
- ip = IPv4(128, 0, 0, 0);
+ ip = RTE_IPV4(128, 0, 0, 0);
depth = 24;
next_hop_add = 100;
rte_lpm_delete_all(lpm);
/* Add & lookup to hit valid TBL24 entry not extended */
- ip = IPv4(128, 0, 0, 0);
+ ip = RTE_IPV4(128, 0, 0, 0);
depth = 23;
next_hop_add = 100;
/* Add & lookup to hit valid extended TBL24 entry with invalid TBL8
* entry */
- ip = IPv4(128, 0, 0, 0);
+ ip = RTE_IPV4(128, 0, 0, 0);
depth = 32;
next_hop_add = 100;
status = rte_lpm_lookup(lpm, ip, &next_hop_return);
TEST_LPM_ASSERT((status == 0) && (next_hop_return == next_hop_add));
- ip = IPv4(128, 0, 0, 5);
+ ip = RTE_IPV4(128, 0, 0, 5);
depth = 32;
next_hop_add = 101;
status = rte_lpm_lookup(lpm, ip, &next_hop_return);
TEST_LPM_ASSERT(status == -ENOENT);
- ip = IPv4(128, 0, 0, 0);
+ ip = RTE_IPV4(128, 0, 0, 0);
depth = 32;
next_hop_add = 100;
/* Add & lookup to hit valid extended TBL24 entry with valid TBL8
* entry */
- ip_1 = IPv4(128, 0, 0, 0);
+ ip_1 = RTE_IPV4(128, 0, 0, 0);
depth_1 = 25;
next_hop_add_1 = 101;
- ip_2 = IPv4(128, 0, 0, 5);
+ ip_2 = RTE_IPV4(128, 0, 0, 5);
depth_2 = 32;
next_hop_add_2 = 102;
lpm = rte_lpm_create(__func__, SOCKET_ID_ANY, &config);
TEST_LPM_ASSERT(lpm != NULL);
- ip = IPv4(128, 0, 0, 0);
+ ip = RTE_IPV4(128, 0, 0, 0);
depth = 16;
next_hop_add = 100;
rte_lpm_delete_all(lpm);
- ip = IPv4(128, 0, 0, 0);
+ ip = RTE_IPV4(128, 0, 0, 0);
depth = 25;
next_hop_add = 100;
/* Add rule that extends a TBL24 valid entry & lookup for both rules
* (& delete & lookup) */
- ip = IPv4(128, 0, 0, 0);
+ ip = RTE_IPV4(128, 0, 0, 0);
depth = 24;
next_hop_add = 100;
status = rte_lpm_add(lpm, ip, depth, next_hop_add);
TEST_LPM_ASSERT(status == 0);
- ip = IPv4(128, 0, 0, 10);
+ ip = RTE_IPV4(128, 0, 0, 10);
depth = 32;
next_hop_add = 101;
status = rte_lpm_lookup(lpm, ip, &next_hop_return);
TEST_LPM_ASSERT((status == 0) && (next_hop_return == next_hop_add));
- ip = IPv4(128, 0, 0, 0);
+ ip = RTE_IPV4(128, 0, 0, 0);
next_hop_add = 100;
status = rte_lpm_lookup(lpm, ip, &next_hop_return);
TEST_LPM_ASSERT((status == 0) && (next_hop_return == next_hop_add));
- ip = IPv4(128, 0, 0, 0);
+ ip = RTE_IPV4(128, 0, 0, 0);
depth = 24;
status = rte_lpm_delete(lpm, ip, depth);
status = rte_lpm_lookup(lpm, ip, &next_hop_return);
TEST_LPM_ASSERT(status == -ENOENT);
- ip = IPv4(128, 0, 0, 10);
+ ip = RTE_IPV4(128, 0, 0, 10);
depth = 32;
status = rte_lpm_delete(lpm, ip, depth);
/* Add rule that updates the next hop in TBL24 & lookup
* (& delete & lookup) */
- ip = IPv4(128, 0, 0, 0);
+ ip = RTE_IPV4(128, 0, 0, 0);
depth = 24;
next_hop_add = 100;
/* Add rule that updates the next hop in TBL8 & lookup
* (& delete & lookup) */
- ip = IPv4(128, 0, 0, 0);
+ ip = RTE_IPV4(128, 0, 0, 0);
depth = 32;
next_hop_add = 100;
/* Delete a rule that is not present in the TBL24 & lookup */
- ip = IPv4(128, 0, 0, 0);
+ ip = RTE_IPV4(128, 0, 0, 0);
depth = 24;
status = rte_lpm_delete(lpm, ip, depth);
/* Delete a rule that is not present in the TBL8 & lookup */
- ip = IPv4(128, 0, 0, 0);
+ ip = RTE_IPV4(128, 0, 0, 0);
depth = 32;
status = rte_lpm_delete(lpm, ip, depth);
lpm = rte_lpm_create(__func__, SOCKET_ID_ANY, &config);
TEST_LPM_ASSERT(lpm != NULL);
- ip = IPv4(128, 0, 0, 0);
+ ip = RTE_IPV4(128, 0, 0, 0);
depth = 24;
next_hop_add = 100;
status = rte_lpm_add(lpm, ip, depth, next_hop_add);
TEST_LPM_ASSERT(status == 0);
- ip = IPv4(128, 0, 0, 10);
+ ip = RTE_IPV4(128, 0, 0, 10);
depth = 32;
next_hop_add = 101;
status = rte_lpm_lookup(lpm, ip, &next_hop_return);
TEST_LPM_ASSERT((status == 0) && (next_hop_return == next_hop_add));
- ip = IPv4(128, 0, 0, 0);
+ ip = RTE_IPV4(128, 0, 0, 0);
next_hop_add = 100;
status = rte_lpm_lookup(lpm, ip, &next_hop_return);
TEST_LPM_ASSERT((status == 0) && (next_hop_return == next_hop_add));
- ip = IPv4(128, 0, 0, 0);
+ ip = RTE_IPV4(128, 0, 0, 0);
depth = 24;
status = rte_lpm_delete(lpm, ip, depth);
status = rte_lpm_lookup(lpm, ip, &next_hop_return);
TEST_LPM_ASSERT(status == -ENOENT);
- ip = IPv4(128, 0, 0, 10);
+ ip = RTE_IPV4(128, 0, 0, 10);
depth = 32;
status = rte_lpm_delete(lpm, ip, depth);
lpm = rte_lpm_create(__func__, SOCKET_ID_ANY, &config);
TEST_LPM_ASSERT(lpm != NULL);
- ip = IPv4(128, 0, 0, 0);
+ ip = RTE_IPV4(128, 0, 0, 0);
depth = 32;
next_hop_add = 100;
lpm = rte_lpm_create(__func__, SOCKET_ID_ANY, &config);
TEST_LPM_ASSERT(lpm != NULL);
- ip = IPv4(128, 0, 0, 0);
+ ip = RTE_IPV4(128, 0, 0, 0);
depth = 24;
next_hop_add_1 = 100;
depth = 32;
next_hop_add = 100;
- ip = IPv4(0, 0, 0, 0);
+ ip = RTE_IPV4(0, 0, 0, 0);
/* Add 256 rules that require a tbl8 extension */
- for (; ip <= IPv4(0, 0, 255, 0); ip += 256) {
+ for (; ip <= RTE_IPV4(0, 0, 255, 0); ip += 256) {
status = rte_lpm_add(lpm, ip, depth, next_hop_add);
TEST_LPM_ASSERT(status == 0);
/* All tbl8 extensions have been used above. Try to add one more and
* we get a fail */
- ip = IPv4(1, 0, 0, 0);
+ ip = RTE_IPV4(1, 0, 0, 0);
depth = 32;
status = rte_lpm_add(lpm, ip, depth, next_hop_add);
config.max_rules = MAX_RULES;
config.number_tbl8s = NUMBER_TBL8S;
config.flags = 0;
- const uint32_t ip_10_32 = IPv4(10, 10, 10, 2);
- const uint32_t ip_10_24 = IPv4(10, 10, 10, 0);
- const uint32_t ip_20_25 = IPv4(10, 10, 20, 2);
+ const uint32_t ip_10_32 = RTE_IPV4(10, 10, 10, 2);
+ const uint32_t ip_10_24 = RTE_IPV4(10, 10, 10, 0);
+ const uint32_t ip_20_25 = RTE_IPV4(10, 10, 20, 2);
const uint8_t d_ip_10_32 = 32,
d_ip_10_24 = 24,
d_ip_20_25 = 25;
lpm = rte_lpm_create(__func__, SOCKET_ID_ANY, &config);
TEST_LPM_ASSERT(lpm != NULL);
- ip = IPv4(192, 168, 100, 100);
+ ip = RTE_IPV4(192, 168, 100, 100);
depth = 28;
next_hop = 1;
rte_lpm_add(lpm, ip, depth, next_hop);
unsigned i;
int status, global_status = 0;
- for (i = 0; i < NUM_LPM_TESTS; i++) {
+ for (i = 0; i < RTE_DIM(tests); i++) {
status = tests[i]();
if (status < 0) {
printf("ERROR: LPM Test %u: FAIL\n", i);