X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Ftest%2Ftest_cmdline_ipaddr.c;h=b3f50d80d29d81e1d0767724ccfbeca8f521a2c8;hb=c140299940587c701a9d5b52fb543e1b28ce2857;hp=4c9eb555fd88ecdfe55aded53e40fdda7f2b70b5;hpb=e9d48c0072d36eb6423b45fba4ec49d0def6c36f;p=dpdk.git diff --git a/app/test/test_cmdline_ipaddr.c b/app/test/test_cmdline_ipaddr.c index 4c9eb555fd..b3f50d80d2 100644 --- a/app/test/test_cmdline_ipaddr.c +++ b/app/test/test_cmdline_ipaddr.c @@ -1,44 +1,12 @@ -/*- - * 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 #include #include #include - -#ifndef __linux__ -#include -#endif +#include #include @@ -56,13 +24,17 @@ (((x & 0xFF) << 8) | ((x & 0xFF00) >> 8)) /* create IPv6 address, swapping bytes where needed */ +#ifndef s6_addr16 +# define s6_addr16 __u6_addr.__u6_addr16 +#endif #define IP6(a,b,c,d,e,f,g,h) .ipv6 = \ {.s6_addr16 = \ {U16_SWAP(a),U16_SWAP(b),U16_SWAP(c),U16_SWAP(d),\ U16_SWAP(e),U16_SWAP(f),U16_SWAP(g),U16_SWAP(h)}} /** these are defined in netinet/in.h but not present in linux headers */ -#ifdef __linux__ +#ifndef NIPQUAD + #define NIPQUAD_FMT "%u.%u.%u.%u" #define NIPQUAD(addr) \ (unsigned)((unsigned char *)&addr)[0], \ @@ -88,6 +60,7 @@ (unsigned)((addr).s6_addr[13]), \ (unsigned)((addr).s6_addr[14]), \ (unsigned)((addr).s6_addr[15]) + #endif @@ -107,8 +80,6 @@ const struct ipaddr_str ipaddr_valid_strs[] = { CMDLINE_IPADDR_V4 | CMDLINE_IPADDR_NETWORK}, {"192.168.1.0/24", {AF_INET, {IP4(192,168,1,0)}, 24}, CMDLINE_IPADDR_V4 | CMDLINE_IPADDR_NETWORK}, - {"012.34.56.78/24", {AF_INET, {IP4(12,34,56,78)}, 24}, - CMDLINE_IPADDR_V4 | CMDLINE_IPADDR_NETWORK}, {"34.56.78.90/1", {AF_INET, {IP4(34,56,78,90)}, 1}, CMDLINE_IPADDR_V4 | CMDLINE_IPADDR_NETWORK}, {"::", {AF_INET6, {IP6(0,0,0,0,0,0,0,0)}, 0}, @@ -291,19 +262,6 @@ const char * ipaddr_invalid_strs[] = { " ", }; -#define IPADDR_VALID_STRS_SIZE \ - (sizeof(ipaddr_valid_strs) / sizeof(ipaddr_valid_strs[0])) -#define IPADDR_GARBAGE_ADDR4_STRS_SIZE \ - (sizeof(ipaddr_garbage_addr4_strs) / sizeof(ipaddr_garbage_addr4_strs[0])) -#define IPADDR_GARBAGE_ADDR6_STRS_SIZE \ - (sizeof(ipaddr_garbage_addr6_strs) / sizeof(ipaddr_garbage_addr6_strs[0])) -#define IPADDR_GARBAGE_NETWORK4_STRS_SIZE \ - (sizeof(ipaddr_garbage_network4_strs) / sizeof(ipaddr_garbage_network4_strs[0])) -#define IPADDR_GARBAGE_NETWORK6_STRS_SIZE \ - (sizeof(ipaddr_garbage_network6_strs) / sizeof(ipaddr_garbage_network6_strs[0])) -#define IPADDR_INVALID_STRS_SIZE \ - (sizeof(ipaddr_invalid_strs) / sizeof(ipaddr_invalid_strs[0])) - static void dump_addr(cmdline_ipaddr_t addr) { @@ -396,7 +354,7 @@ test_parse_ipaddr_valid(void) } /* test valid strings */ - for (i = 0; i < IPADDR_VALID_STRS_SIZE; i++) { + for (i = 0; i < RTE_DIM(ipaddr_valid_strs); i++) { /* test each valid string against different flags */ for (flags = 1; flags < 0x8; flags++) { @@ -416,7 +374,8 @@ test_parse_ipaddr_valid(void) buf, sizeof(buf)); ret = cmdline_parse_ipaddr((cmdline_parse_token_hdr_t*)&token, - ipaddr_valid_strs[i].str, (void*)&result); + ipaddr_valid_strs[i].str, (void*)&result, + sizeof(result)); /* if should have passed, or should have failed */ if ((ret < 0) == @@ -443,7 +402,7 @@ test_parse_ipaddr_valid(void) } /* test garbage ipv4 address strings */ - for (i = 0; i < IPADDR_GARBAGE_ADDR4_STRS_SIZE; i++) { + for (i = 0; i < RTE_DIM(ipaddr_garbage_addr4_strs); i++) { struct in_addr tmp = IPv4_GARBAGE_ADDR; @@ -465,7 +424,8 @@ test_parse_ipaddr_valid(void) buf, sizeof(buf)); ret = cmdline_parse_ipaddr((cmdline_parse_token_hdr_t*)&token, - ipaddr_garbage_addr4_strs[i], (void*)&result); + ipaddr_garbage_addr4_strs[i], (void*)&result, + sizeof(result)); /* if should have passed, or should have failed */ if ((ret < 0) == @@ -484,7 +444,7 @@ test_parse_ipaddr_valid(void) } /* test garbage ipv6 address strings */ - for (i = 0; i < IPADDR_GARBAGE_ADDR6_STRS_SIZE; i++) { + for (i = 0; i < RTE_DIM(ipaddr_garbage_addr6_strs); i++) { cmdline_ipaddr_t tmp = {.addr = IPv6_GARBAGE_ADDR}; @@ -506,7 +466,8 @@ test_parse_ipaddr_valid(void) buf, sizeof(buf)); ret = cmdline_parse_ipaddr((cmdline_parse_token_hdr_t*)&token, - ipaddr_garbage_addr6_strs[i], (void*)&result); + ipaddr_garbage_addr6_strs[i], (void*)&result, + sizeof(result)); /* if should have passed, or should have failed */ if ((ret < 0) == @@ -526,7 +487,7 @@ test_parse_ipaddr_valid(void) /* test garbage ipv4 network strings */ - for (i = 0; i < IPADDR_GARBAGE_NETWORK4_STRS_SIZE; i++) { + for (i = 0; i < RTE_DIM(ipaddr_garbage_network4_strs); i++) { struct in_addr tmp = IPv4_GARBAGE_ADDR; @@ -548,7 +509,8 @@ test_parse_ipaddr_valid(void) buf, sizeof(buf)); ret = cmdline_parse_ipaddr((cmdline_parse_token_hdr_t*)&token, - ipaddr_garbage_network4_strs[i], (void*)&result); + ipaddr_garbage_network4_strs[i], (void*)&result, + sizeof(result)); /* if should have passed, or should have failed */ if ((ret < 0) == @@ -567,7 +529,7 @@ test_parse_ipaddr_valid(void) } /* test garbage ipv6 address strings */ - for (i = 0; i < IPADDR_GARBAGE_NETWORK6_STRS_SIZE; i++) { + for (i = 0; i < RTE_DIM(ipaddr_garbage_network6_strs); i++) { cmdline_ipaddr_t tmp = {.addr = IPv6_GARBAGE_ADDR}; @@ -589,7 +551,8 @@ test_parse_ipaddr_valid(void) buf, sizeof(buf)); ret = cmdline_parse_ipaddr((cmdline_parse_token_hdr_t*)&token, - ipaddr_garbage_network6_strs[i], (void*)&result); + ipaddr_garbage_network6_strs[i], (void*)&result, + sizeof(result)); /* if should have passed, or should have failed */ if ((ret < 0) == @@ -621,9 +584,9 @@ test_parse_ipaddr_invalid_data(void) int ret; memset(&result, 0, sizeof(result)); - + /* test invalid strings */ - for (i = 0; i < IPADDR_INVALID_STRS_SIZE; i++) { + for (i = 0; i < RTE_DIM(ipaddr_invalid_strs); i++) { /* test each valid string against different flags */ for (flags = 1; flags < 0x8; flags++) { @@ -642,7 +605,8 @@ test_parse_ipaddr_invalid_data(void) buf, sizeof(buf)); ret = cmdline_parse_ipaddr((cmdline_parse_token_hdr_t*)&token, - ipaddr_invalid_strs[i], (void*)&result); + ipaddr_invalid_strs[i], (void*)&result, + sizeof(result)); if (ret != -1) { printf("Error: parsing %s as %s succeeded!\n", @@ -664,29 +628,30 @@ test_parse_ipaddr_invalid_param(void) char buf[CMDLINE_TEST_BUFSIZE]; cmdline_ipaddr_t result; - rte_snprintf(buf, sizeof(buf), "1.2.3.4"); + snprintf(buf, sizeof(buf), "1.2.3.4"); token.ipaddr_data.flags = CMDLINE_IPADDR_V4; /* null token */ - if (cmdline_parse_ipaddr(NULL, buf, (void*)&result) != -1) { + if (cmdline_parse_ipaddr(NULL, buf, (void*)&result, + sizeof(result)) != -1) { printf("Error: parser accepted invalid parameters!\n"); return -1; } /* null buffer */ if (cmdline_parse_ipaddr((cmdline_parse_token_hdr_t*)&token, - NULL, (void*)&result) != -1) { + NULL, (void*)&result, sizeof(result)) != -1) { printf("Error: parser accepted invalid parameters!\n"); return -1; } /* empty buffer */ if (cmdline_parse_ipaddr((cmdline_parse_token_hdr_t*)&token, - "", (void*)&result) != -1) { + "", (void*)&result, sizeof(result)) != -1) { printf("Error: parser accepted invalid parameters!\n"); return -1; } /* null result */ if (cmdline_parse_ipaddr((cmdline_parse_token_hdr_t*)&token, - buf, NULL) == -1) { + buf, NULL, 0) == -1) { printf("Error: parser rejected null result!\n"); return -1; }