X-Git-Url: http://git.droids-corp.org/?p=dpdk.git;a=blobdiff_plain;f=examples%2Fl2fwd-ivshmem%2Fhost%2Fhost.c;h=197f22ba2b418af92f3ce69595083870dcb14c1b;hp=8aec7740afc11ae1c03652dcf40c10a69d232647;hb=ea0c20ea95fd5d71a10757e6598ac66233ea1495;hpb=591a9d7985c1230652d9f7ea1f9221e8c66ec188 diff --git a/examples/l2fwd-ivshmem/host/host.c b/examples/l2fwd-ivshmem/host/host.c index 8aec7740af..197f22ba2b 100644 --- a/examples/l2fwd-ivshmem/host/host.c +++ b/examples/l2fwd-ivshmem/host/host.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 @@ -63,25 +63,6 @@ static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT; static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT; -/* - * RX and TX Prefetch, Host, and Write-back threshold values should be - * carefully set for optimal performance. Consult the network - * controller's datasheet and supporting DPDK documentation for guidance - * on how these parameters should be set. - */ -#define RX_PTHRESH 8 /**< Default values of RX prefetch threshold reg. */ -#define RX_HTHRESH 8 /**< Default values of RX host threshold reg. */ -#define RX_WTHRESH 4 /**< Default values of RX write-back threshold reg. */ - -/* - * These default values are optimized for use with the Intel(R) 82599 10 GbE - * Controller and the DPDK ixgbe PMD. Consider using other values for other - * network controllers and/or network drivers. - */ -#define TX_PTHRESH 36 /**< Default values of TX prefetch threshold reg. */ -#define TX_HTHRESH 0 /**< Default values of TX host threshold reg. */ -#define TX_WTHRESH 0 /**< Default values of TX write-back threshold reg. */ - #define BURST_TX_DRAIN_US 100 /* TX drain every ~100us */ /* mask of enabled ports */ @@ -90,7 +71,7 @@ static uint32_t l2fwd_ivshmem_enabled_port_mask = 0; static struct ether_addr l2fwd_ivshmem_ports_eth_addr[RTE_MAX_ETHPORTS]; #define NB_MBUF 8192 -#define MBUF_SIZE (2048 + sizeof(struct rte_mbuf) + RTE_PKTMBUF_HEADROOM) +#define MBUF_DATA_SIZE (2048 + RTE_PKTMBUF_HEADROOM) #define MAX_RX_QUEUE_PER_LCORE 16 #define MAX_TX_QUEUE_PER_PORT 16 @@ -117,24 +98,6 @@ static const struct rte_eth_conf port_conf = { }, }; -static const struct rte_eth_rxconf rx_conf = { - .rx_thresh = { - .pthresh = RX_PTHRESH, - .hthresh = RX_HTHRESH, - .wthresh = RX_WTHRESH, - }, -}; - -static const struct rte_eth_txconf tx_conf = { - .tx_thresh = { - .pthresh = TX_PTHRESH, - .hthresh = TX_HTHRESH, - .wthresh = TX_WTHRESH, - }, - .tx_free_thresh = 0, /* Use PMD default values */ - .tx_rs_thresh = 0, /* Use PMD default values */ -}; - #define METADATA_NAME "l2fwd_ivshmem" #define CMDLINE_OPT_FWD_CONF "fwd-conf" @@ -217,7 +180,7 @@ print_to_file(const char *cmdline, const char *config_name) FILE *file; char path[PATH_MAX]; - rte_snprintf(path, sizeof(path), QEMU_CMD_FMT, config_name); + snprintf(path, sizeof(path), QEMU_CMD_FMT, config_name); file = fopen(path, "w"); if (file == NULL) { RTE_LOG(ERR, L2FWD_IVSHMEM, "Could not open '%s' \n", path); @@ -707,22 +670,11 @@ int main(int argc, char **argv) /* create a shared mbuf pool */ l2fwd_ivshmem_pktmbuf_pool = - rte_mempool_create(MBUF_MP_NAME, NB_MBUF, - MBUF_SIZE, 32, - sizeof(struct rte_pktmbuf_pool_private), - rte_pktmbuf_pool_init, NULL, - rte_pktmbuf_init, NULL, - rte_socket_id(), 0); + rte_pktmbuf_pool_create(MBUF_MP_NAME, NB_MBUF, 32, + 0, MBUF_DATA_SIZE, rte_socket_id()); if (l2fwd_ivshmem_pktmbuf_pool == NULL) rte_exit(EXIT_FAILURE, "Cannot init mbuf pool\n"); - /* init driver(s) */ - if (rte_pmd_init_all() < 0) - rte_exit(EXIT_FAILURE, "Cannot init pmd\n"); - - if (rte_eal_pci_probe() < 0) - rte_exit(EXIT_FAILURE, "Cannot probe PCI\n"); - nb_ports = rte_eth_dev_count(); if (nb_ports == 0) rte_exit(EXIT_FAILURE, "No Ethernet ports - bye\n"); @@ -796,7 +748,8 @@ int main(int argc, char **argv) /* init one RX queue */ fflush(stdout); ret = rte_eth_rx_queue_setup(portid, 0, nb_rxd, - rte_eth_dev_socket_id(portid), &rx_conf, + rte_eth_dev_socket_id(portid), + NULL, l2fwd_ivshmem_pktmbuf_pool); if (ret < 0) rte_exit(EXIT_FAILURE, "rte_eth_rx_queue_setup:err=%d, port=%u\n", @@ -805,7 +758,8 @@ int main(int argc, char **argv) /* init one TX queue on each port */ fflush(stdout); ret = rte_eth_tx_queue_setup(portid, 0, nb_txd, - rte_eth_dev_socket_id(portid), &tx_conf); + rte_eth_dev_socket_id(portid), + NULL); if (ret < 0) rte_exit(EXIT_FAILURE, "rte_eth_tx_queue_setup:err=%d, port=%u\n", ret, (unsigned) portid); @@ -875,7 +829,7 @@ int main(int argc, char **argv) for (portid = 0; portid < nb_ports_available; portid++) { /* RX ring. SP/SC because it's only used by host and a single VM */ - rte_snprintf(name, sizeof(name), "%s%i", RX_RING_PREFIX, portid); + snprintf(name, sizeof(name), "%s%i", RX_RING_PREFIX, portid); r = rte_ring_create(name, NB_MBUF, SOCKET_ID_ANY, RING_F_SP_ENQ | RING_F_SC_DEQ); if (r == NULL) @@ -884,7 +838,7 @@ int main(int argc, char **argv) ctrl->vm_ports[portid].rx_ring = r; /* TX ring. SP/SC because it's only used by host and a single VM */ - rte_snprintf(name, sizeof(name), "%s%i", TX_RING_PREFIX, portid); + snprintf(name, sizeof(name), "%s%i", TX_RING_PREFIX, portid); r = rte_ring_create(name, NB_MBUF, SOCKET_ID_ANY, RING_F_SP_ENQ | RING_F_SC_DEQ); if (r == NULL)