From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-vc0-f174.google.com (mail-vc0-f174.google.com [209.85.220.174]) by dpdk.org (Postfix) with ESMTP id 30FB71FE for ; Fri, 11 Jul 2014 22:47:08 +0200 (CEST) Received: by mail-vc0-f174.google.com with SMTP id hy4so3146673vcb.33 for ; Fri, 11 Jul 2014 13:47:37 -0700 (PDT) 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=giav//awfA1KQGeaihVGq2MDKpzRIA9FfpHHxhK2tXs=; b=SI9xuP7z3K0oGpBYnshHuEASSN4LhPUIIS0LSpgaUi3P922kPxRQeBKuC0DFvZ4zwC GfG1EFtNonUwukRkv0qO0IkcO0M2nl0TbcQ8SIVc6yVlf6QaLbXQGG8Fp1ETbo8yo2dd K/AnMIR2Nvb0YPiJCggxNGHJhlyZ1DRc4v3SuzsjtBoWCR7Lya6uqr83MFkS0Dnv3vI9 +U6NnTrVEAz7KzyZNzaZpK5R8AQSnQmSYDoTaq+5sSDQIgmiGaYEgLm9dQyhqm7D92OM rTo8A+30sREb83T98YRf6T9AbuQnoZ1+NtZY19o2Q/I3XTmsn3+xs/FhUH5/bTjRoDhy k9aQ== X-Gm-Message-State: ALoCoQnOsDDVAtTK0vIXIHD1L4POpUE5wCD1I4+fdSOeLwDXi7pPNWldSbrwL8+8lnPpCzu6zvqL MIME-Version: 1.0 X-Received: by 10.58.8.12 with SMTP id n12mr1542200vea.28.1405111657431; Fri, 11 Jul 2014 13:47:37 -0700 (PDT) Received: by 10.58.71.133 with HTTP; Fri, 11 Jul 2014 13:47:37 -0700 (PDT) Date: Fri, 11 Jul 2014 13:47:37 -0700 Message-ID: From: Wei-Chun Chao To: dev@dpdk.org Content-Type: text/plain; charset=UTF-8 Subject: [dpdk-dev] VM2VM_HARDWARE mode on i350 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: Fri, 11 Jul 2014 20:47:08 -0000 Hi, I was playing with vhost example to measure VM to VM throughput. With default SW mode I saw 9Gbps. While trying HW mode, traffic does not work. Looking at the code I saw a snippet in lib/librte_pmd_ixgbe/ixgbe_rxtx.c:ixgbe_vmdq_rx_hw_configure - /* PFDMA Tx General Switch Control Enables VMDQ loopback */ if (cfg->enable_loop_back) { IXGBE_WRITE_REG(hw, IXGBE_PFDTXGSWC, IXGBE_PFDTXGSWC_VT_LBEN); for (i = 0; i < RTE_IXGBE_VMTXSW_REGISTER_COUNT; i++) IXGBE_WRITE_REG(hw, IXGBE_VMTXSW(i), UINT32_MAX); } But there is no corresponding code in lib/librte_pmd_e1000/igb_rxtx.c:igb_vmdq_rx_hw_configure. Is this expected behavior? Or just something not implemented? I tried adding some code similar to the following but it didn't help. dtxswc = rd32(E1000_TXSWC); if (enable) dtxswc |= E1000_DTXSWC_VMDQ_LOOPBACK_EN; else dtxswc &= ~E1000_DTXSWC_VMDQ_LOOPBACK_EN; wr32(E1000_TXSWC, dtxswc); Another question: I have a i210 that doesn't support VMDq and vhost example does not run even with vm2vm_software. Why is VMDq needed for sw mode? Thanks, Weichun