X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=examples%2Fload_balancer%2Fconfig.c;h=ae234de820230050daf8d9ae1fcc67c56ea089d5;hb=cbc12b0a96f5751ab2ed10001f44d39211e3bd45;hp=35f14416266003af557badf6692e2c3321748323;hpb=ff708facfcbf42f3dcb3c62d82ecd93e7b8c2506;p=dpdk.git diff --git a/examples/load_balancer/config.c b/examples/load_balancer/config.c index 35f1441626..ae234de820 100644 --- a/examples/load_balancer/config.c +++ b/examples/load_balancer/config.c @@ -49,7 +49,6 @@ #include #include #include -#include #include #include #include @@ -63,7 +62,6 @@ #include #include #include -#include #include #include #include @@ -231,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; @@ -240,7 +240,7 @@ parse_arg_rx(const char *arg) if (lp->io.rx.n_nic_queues >= APP_MAX_NIC_RX_QUEUES_PER_IO_LCORE) { return -9; } - lp->io.rx.nic_queues[lp->io.rx.n_nic_queues].port = (uint8_t) port; + lp->io.rx.nic_queues[lp->io.rx.n_nic_queues].port = port; lp->io.rx.nic_queues[lp->io.rx.n_nic_queues].queue = (uint8_t) queue; lp->io.rx.n_nic_queues ++; @@ -308,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; } @@ -316,7 +318,7 @@ parse_arg_tx(const char *arg) if (lp->io.tx.n_nic_ports >= APP_MAX_NIC_TX_PORTS_PER_IO_LCORE) { return -9; } - lp->io.tx.nic_ports[lp->io.tx.n_nic_ports] = (uint8_t) port; + lp->io.tx.nic_ports[lp->io.tx.n_nic_ports] = port; lp->io.tx.n_nic_ports ++; n_tuples ++; @@ -486,7 +488,7 @@ app_check_lpm_table(void) static int app_check_every_rx_port_is_tx_enabled(void) { - uint8_t port; + uint16_t port; for (port = 0; port < APP_MAX_NIC_PORTS; port ++) { if ((app_get_nic_rx_queues_per_port(port) > 0) && (app.nic_tx_port_mask[port] == 0)) { @@ -755,12 +757,12 @@ 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; } int -app_get_nic_rx_queues_per_port(uint8_t port) +app_get_nic_rx_queues_per_port(uint16_t port) { uint32_t i, count; @@ -779,7 +781,7 @@ app_get_nic_rx_queues_per_port(uint8_t port) } int -app_get_lcore_for_nic_rx(uint8_t port, uint8_t queue, uint32_t *lcore_out) +app_get_lcore_for_nic_rx(uint16_t port, uint8_t queue, uint32_t *lcore_out) { uint32_t lcore; @@ -791,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; @@ -804,7 +808,7 @@ app_get_lcore_for_nic_rx(uint8_t port, uint8_t queue, uint32_t *lcore_out) } int -app_get_lcore_for_nic_tx(uint8_t port, uint32_t *lcore_out) +app_get_lcore_for_nic_tx(uint16_t port, uint32_t *lcore_out) { uint32_t lcore; @@ -816,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; @@ -895,7 +901,7 @@ app_print_params(void) /* Print NIC RX configuration */ printf("NIC RX ports: "); for (port = 0; port < APP_MAX_NIC_PORTS; port ++) { - uint32_t n_rx_queues = app_get_nic_rx_queues_per_port((uint8_t) port); + uint32_t n_rx_queues = app_get_nic_rx_queues_per_port(port); if (n_rx_queues == 0) { continue;