X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=examples%2Fkni%2Fmain.c;h=0be57d83d0c9969135ceaaf4cde82fe1f03aea05;hb=dce8a093de6b70219287be3e4ed59628d19770fe;hp=45b96bcdc3657f97d786855c45b61d9a807377e1;hpb=fdf20fa7bee9df9037116318a87080e1eb7e757e;p=dpdk.git diff --git a/examples/kni/main.c b/examples/kni/main.c index 45b96bcdc3..0be57d83d0 100644 --- a/examples/kni/main.c +++ b/examples/kni/main.c @@ -54,7 +54,6 @@ #include #include #include -#include #include #include #include @@ -66,7 +65,6 @@ #include #include #include -#include #include #include #include @@ -81,9 +79,8 @@ /* Max size of a single packet */ #define MAX_PACKET_SZ 2048 -/* Number of bytes needed for each mbuf */ -#define MBUF_SZ \ - (MAX_PACKET_SZ + sizeof(struct rte_mbuf) + RTE_PKTMBUF_HEADROOM) +/* Size of the data buffer in each mbuf */ +#define MBUF_DATA_SZ (MAX_PACKET_SZ + RTE_PKTMBUF_HEADROOM) /* Number of mbufs in mempool that is created */ #define NB_MBUF (8192 * 16) @@ -133,7 +130,7 @@ static struct rte_eth_conf port_conf = { .hw_ip_checksum = 0, /* IP checksum offload disabled */ .hw_vlan_filter = 0, /* VLAN filtering disabled */ .jumbo_frame = 0, /* Jumbo Frame Support disabled */ - .hw_strip_crc = 0, /* CRC stripped by hardware */ + .hw_strip_crc = 1, /* CRC stripped by hardware */ }, .txmode = { .mq_mode = ETH_MQ_TX_NONE, @@ -320,8 +317,6 @@ main_loop(__rte_unused void *arg) }; enum lcore_rxtx flag = LCORE_NONE; - nb_ports = (uint8_t)(nb_ports < RTE_MAX_ETHPORTS ? - nb_ports : RTE_MAX_ETHPORTS); for (i = 0; i < nb_ports; i++) { if (!kni_port_params_array[i]) continue; @@ -462,8 +457,8 @@ parse_config(const char *arg) goto fail; } kni_port_params_array[port_id] = - (struct kni_port_params*)rte_zmalloc("KNI_port_params", - sizeof(struct kni_port_params), RTE_CACHE_LINE_SIZE); + rte_zmalloc("KNI_port_params", + sizeof(struct kni_port_params), RTE_CACHE_LINE_SIZE); kni_port_params_array[port_id]->port_id = port_id; kni_port_params_array[port_id]->lcore_rx = (uint8_t)int_fld[i++]; @@ -672,7 +667,7 @@ check_all_ports_link_status(uint8_t port_num, uint32_t port_mask) continue; } /* clear all_ports_up flag if any link down */ - if (link.link_status == 0) { + if (link.link_status == ETH_LINK_DOWN) { all_ports_up = 0; break; } @@ -832,9 +827,10 @@ kni_free_kni(uint8_t port_id) if (port_id >= RTE_MAX_ETHPORTS || !p[port_id]) return -1; - for (i = 0; i < p[i]->nb_kni; i++) { - rte_kni_release(p[i]->kni[i]); - p[i]->kni[i] = NULL; + for (i = 0; i < p[port_id]->nb_kni; i++) { + if (rte_kni_release(p[port_id]->kni[i])) + printf("Fail to release kni\n"); + p[port_id]->kni[i] = NULL; } rte_eth_dev_stop(port_id); @@ -868,11 +864,8 @@ main(int argc, char** argv) rte_exit(EXIT_FAILURE, "Could not parse input parameters\n"); /* Create the mbuf pool */ - pktmbuf_pool = rte_mempool_create("mbuf_pool", NB_MBUF, MBUF_SZ, - MEMPOOL_CACHE_SZ, - sizeof(struct rte_pktmbuf_pool_private), - rte_pktmbuf_pool_init, NULL, rte_pktmbuf_init, NULL, - rte_socket_id(), 0); + pktmbuf_pool = rte_pktmbuf_pool_create("mbuf_pool", NB_MBUF, + MEMPOOL_CACHE_SZ, 0, MBUF_DATA_SZ, rte_socket_id()); if (pktmbuf_pool == NULL) { rte_exit(EXIT_FAILURE, "Could not initialise mbuf pool\n"); return -1; @@ -931,4 +924,3 @@ main(int argc, char** argv) return 0; } -