X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Ftest%2Ftest_cmdline_ipaddr.c;h=471d2ff140578adb2720609deeb99e06248370bd;hb=f6c6331591e662ab0d1d7a27be000437de50ac51;hp=201dae35c0cd7c19d5d175f86836ee3a50214095;hpb=dbb860e03eb12ad621cbb68a0f3f1752bf188ab0;p=dpdk.git diff --git a/app/test/test_cmdline_ipaddr.c b/app/test/test_cmdline_ipaddr.c index 201dae35c0..471d2ff140 100644 --- a/app/test/test_cmdline_ipaddr.c +++ b/app/test/test_cmdline_ipaddr.c @@ -1,35 +1,34 @@ /*- * BSD LICENSE - * - * Copyright(c) 2010-2012 Intel Corporation. All rights reserved. + * + * 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 + * + * 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 + * + * * 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 + * * 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 + * * 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 + * + * 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. - * */ #include @@ -38,7 +37,11 @@ #include #ifndef __linux__ +#ifndef __FreeBSD__ #include +#else +#include +#endif #endif #include @@ -57,13 +60,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], \ @@ -89,6 +96,7 @@ (unsigned)((addr).s6_addr[13]), \ (unsigned)((addr).s6_addr[14]), \ (unsigned)((addr).s6_addr[15]) + #endif @@ -417,7 +425,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) == @@ -466,7 +475,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) == @@ -507,7 +517,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) == @@ -549,7 +560,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) == @@ -590,7 +602,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) == @@ -622,7 +635,7 @@ 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++) { @@ -643,7 +656,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", @@ -665,29 +679,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; }