X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Ftest-pipeline%2Finit.c;h=fe37d63730c6b78fd9bc748514fa8eb98c8d3b3a;hb=6d360284dffe51f852fc373058bfb274b9b8982c;hp=aef082fc3a66b916bb8005e8dddc6ba762eac541;hpb=09419f235e099ecb265a590778fe64a685a2a241;p=dpdk.git diff --git a/app/test-pipeline/init.c b/app/test-pipeline/init.c index aef082fc3a..fe37d63730 100644 --- a/app/test-pipeline/init.c +++ b/app/test-pipeline/init.c @@ -1,34 +1,5 @@ -/*- - * 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 @@ -47,7 +18,6 @@ #include #include #include -#include #include #include #include @@ -55,7 +25,6 @@ #include #include #include -#include #include #include #include @@ -101,11 +70,7 @@ struct app_params app = { static struct rte_eth_conf port_conf = { .rxmode = { .split_hdr_size = 0, - .header_split = 0, /* Header Split disabled */ - .hw_ip_checksum = 1, /* IP checksum offload enabled */ - .hw_vlan_filter = 0, /* VLAN filtering disabled */ - .jumbo_frame = 0, /* Jumbo Frame Support disabled */ - .hw_strip_crc = 0, /* CRC stripped by hardware */ + .offloads = DEV_RX_OFFLOAD_CHECKSUM, }, .rx_adv_conf = { .rss_conf = { @@ -190,21 +155,29 @@ static void app_ports_check_link(void) { uint32_t all_ports_up, i; - + char link_status_text[RTE_ETH_LINK_MAX_STR_LEN]; all_ports_up = 1; for (i = 0; i < app.n_ports; i++) { struct rte_eth_link link; - uint8_t port; + uint16_t port; + int ret; - port = (uint8_t) app.ports[i]; + port = app.ports[i]; memset(&link, 0, sizeof(link)); - rte_eth_link_get_nowait(port, &link); - RTE_LOG(INFO, USER1, "Port %u (%u Gbps) %s\n", + ret = rte_eth_link_get_nowait(port, &link); + if (ret < 0) { + RTE_LOG(INFO, USER1, + "Failed to get port %u link status: %s\n", + port, rte_strerror(-ret)); + all_ports_up = 0; + continue; + } + rte_eth_link_to_str(link_status_text, sizeof(link_status_text), + &link); + RTE_LOG(INFO, USER1, "Port %u %s\n", port, - link.link_speed / 1000, - link.link_status ? "UP" : "DOWN"); - + link_status_text); if (link.link_status == ETH_LINK_DOWN) all_ports_up = 0; } @@ -220,10 +193,10 @@ app_init_ports(void) /* Init NIC ports, then start the ports */ for (i = 0; i < app.n_ports; i++) { - uint8_t port; + uint16_t port; int ret; - port = (uint8_t) app.ports[i]; + port = app.ports[i]; RTE_LOG(INFO, USER1, "Initializing NIC port %u ...\n", port); /* Init port */ @@ -235,7 +208,10 @@ app_init_ports(void) if (ret < 0) rte_panic("Cannot init NIC port %u (%d)\n", port, ret); - rte_eth_promiscuous_enable(port); + ret = rte_eth_promiscuous_enable(port); + if (ret != 0) + rte_panic("Cannot enable promiscuous mode for port %u: %s\n", + port, rte_strerror(-ret)); /* Init RX queues */ ret = rte_eth_rx_queue_setup(