From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lb0-f181.google.com (mail-lb0-f181.google.com [209.85.217.181]) by dpdk.org (Postfix) with ESMTP id 80C2B6831 for ; Thu, 9 Jan 2014 00:23:27 +0100 (CET) Received: by mail-lb0-f181.google.com with SMTP id q8so1789691lbi.40 for ; Wed, 08 Jan 2014 15:24:39 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=MtxHdtFoijBcu3GXsqVgAa6J8MFt8EbrIJazRFN8rFk=; b=DM4iEGyvjhhQ0XnYu21pNQDP3Lm8TB/4+Ut9wo3folL/ktSp0En9ImpbY+Wwj0Vwm0 wqhZt9l/tzFlLcg4kvqyoO3Sf6zK91i0hXttOu1alegU8mms25ikpdXQummGHIU5l/BL c6N/RMnTlUXmZr6GX2CRpnkOoEmHxRL7Iyqht1uxyjj19o56Tw95xYQRtTNrVQyvhNpP FNFmHUkEH2HuniKpdNedDfPupOSWisbS2sIOLfXi+i7ixhdX86GuGSTDWXdO2QAY0w4V Z6eJx+hIRaD7Blj1cNQHfK0XinT5BYtmSVjjBsfGTprEpClgTxvl8Zqziy2TmQzrRES4 L1Yw== X-Gm-Message-State: ALoCoQmpztx9kQ9DRz20tc7mhPcJNfwwXxBr/QL4B9n+OQNRQi6QY+7FFNG2J+obPxWoq/X2fVcc MIME-Version: 1.0 X-Received: by 10.152.87.211 with SMTP id ba19mr51169757lab.13.1389223479008; Wed, 08 Jan 2014 15:24:39 -0800 (PST) Received: by 10.112.137.34 with HTTP; Wed, 8 Jan 2014 15:24:38 -0800 (PST) Date: Wed, 8 Jan 2014 15:24:38 -0800 Message-ID: From: Dan Kan To: dev@dpdk.org Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: [dpdk-dev] Unable to get RSS to work in testpmd and load balancing question X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jan 2014 23:23:28 -0000 I'm evaluating DPDK using dpdk-1.5.1r1. I have been playing around with the test-pmd sample app. I'm having a hard time to get RSS to work. I have a 2-port 82599 Intel X540-DA2 NIC. I'm running the following command to start the app. sudo ./testpmd -c 0x1f -n 2 -- -i --portmask=0x3 --nb-cores=4 --rxq=4 --txq=4 I have a packet generator that sends udp packets with various src IP. According testpmd, I'm only receiving packets in port 0's queue 0. Packets are not going into any other queues. I have attached the output from testpmd. ------- Forward Stats for RX Port= 0/Queue= 0 -> TX Port= 1/Queue= 0 ------- RX-packets: 1000000 TX-packets: 1000000 TX-dropped: 0 ---------------------- Forward statistics for port 0 ---------------------- RX-packets: 1000000 RX-dropped: 0 RX-total: 1000000 TX-packets: 0 TX-dropped: 0 TX-total: 0 ---------------------------------------------------------------------------- ---------------------- Forward statistics for port 1 ---------------------- RX-packets: 0 RX-dropped: 0 RX-total: 0 TX-packets: 1000000 TX-dropped: 0 TX-total: 1000000 ---------------------------------------------------------------------------- +++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++ RX-packets: 1000000 RX-dropped: 0 RX-total: 1000000 TX-packets: 1000000 TX-dropped: 0 TX-total: 1000000 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ On a separate note, I also find that the CPU utilization using 1 forwarding core for 2 ports seems to be better (in the aggregate sense) than using 2 forwarding cores for 2 ports. Running at 10gbps line rate of pktlen=400, with 1 core, the core's utilization is 40%. With 2 cores, each core's utilization would 30%, giving an aggregate of 60%. I have a use case of only doing rxonly packet processing. From my initial test, it seems that it's more efficient to have a single core read packets from both ports, and distribute the packet using rte_ring instead of having each core read from its port. The rte_eth_rx operations appear to be much CPU intensive than rte_ring_dequeue operations. Thanks in advance. Dan