[dpdk-dev] VM2VM_HARDWARE mode on i350

Xie, Huawei huawei.xie at intel.com
Sat Jul 12 10:20:24 CEST 2014



> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Wei-Chun Chao
> Sent: Saturday, July 12, 2014 4:48 AM
> To: dev at dpdk.org
> Subject: [dpdk-dev] VM2VM_HARDWARE mode on i350
> 
> 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

Replying to your second question. VMDQ is a must in vhost example, in which each virtio device is bound to a pool in VMDQ.  The vm2vm_software mode means the for each xmit packet from virtio TX ring,  the software will play the role of packet switch, find the destination and do the packet forwarding, while enable_loop_back mode will directly send the packet out through hardware TX queue, and let the hardware L2 switch play the role of packet switch.






More information about the dev mailing list