X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=examples%2Fload_balancer%2Fconfig.c;h=5032509514fd13277fe64384b64278edc41159cc;hb=7b3880fdcc65329ecb1acf2ed87e4ab708435587;hp=f5fee6dac3b8c810843e6eb3ae0df75c81f5947c;hpb=e9d48c0072d36eb6423b45fba4ec49d0def6c36f;p=dpdk.git diff --git a/examples/load_balancer/config.c b/examples/load_balancer/config.c index f5fee6dac3..5032509514 100644 --- a/examples/load_balancer/config.c +++ b/examples/load_balancer/config.c @@ -1,13 +1,13 @@ /*- * 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 @@ -17,7 +17,7 @@ * * 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 @@ -48,9 +48,7 @@ #include #include #include -#include #include -#include #include #include #include @@ -64,7 +62,6 @@ #include #include #include -#include #include #include #include @@ -155,7 +152,7 @@ str_to_unsigned_array( int i, num_splits = 0; /* copy s so we don't modify original string */ - rte_snprintf(str, sizeof(str), "%s", s); + snprintf(str, sizeof(str), "%s", s); num_splits = rte_strsplit(str, sizeof(str), splits, num_vals, separator); errno = 0; @@ -232,7 +229,9 @@ parse_arg_rx(const char *arg) return -7; } lp->type = e_APP_LCORE_IO; - for (i = 0; i < lp->io.rx.n_nic_queues; i ++) { + const size_t n_queues = RTE_MIN(lp->io.rx.n_nic_queues, + RTE_DIM(lp->io.rx.nic_queues)); + for (i = 0; i < n_queues; i ++) { if ((lp->io.rx.nic_queues[i].port == port) && (lp->io.rx.nic_queues[i].queue == queue)) { return -8; @@ -309,7 +308,9 @@ parse_arg_tx(const char *arg) return -7; } lp->type = e_APP_LCORE_IO; - for (i = 0; i < lp->io.tx.n_nic_ports; i ++) { + const size_t n_ports = RTE_MIN(lp->io.tx.n_nic_ports, + RTE_DIM(lp->io.tx.nic_ports)); + for (i = 0; i < n_ports; i ++) { if (lp->io.tx.nic_ports[i] == port) { return -8; } @@ -756,7 +757,7 @@ app_parse_args(int argc, char **argv) argv[optind - 1] = prgname; ret = optind - 1; - optind = 0; /* reset getopt lib */ + optind = 1; /* reset getopt lib */ return ret; } @@ -792,7 +793,9 @@ app_get_lcore_for_nic_rx(uint8_t port, uint8_t queue, uint32_t *lcore_out) continue; } - for (i = 0; i < lp->rx.n_nic_queues; i ++) { + const size_t n_queues = RTE_MIN(lp->rx.n_nic_queues, + RTE_DIM(lp->rx.nic_queues)); + for (i = 0; i < n_queues; i ++) { if ((lp->rx.nic_queues[i].port == port) && (lp->rx.nic_queues[i].queue == queue)) { *lcore_out = lcore; @@ -817,7 +820,9 @@ app_get_lcore_for_nic_tx(uint8_t port, uint32_t *lcore_out) continue; } - for (i = 0; i < lp->tx.n_nic_ports; i ++) { + const size_t n_ports = RTE_MIN(lp->tx.n_nic_ports, + RTE_DIM(lp->tx.nic_ports)); + for (i = 0; i < n_ports; i ++) { if (lp->tx.nic_ports[i] == port) { *lcore_out = lcore; return 0;