[dpdk-dev] VM2VM_HARDWARE mode on i350

Wei-Chun Chao weichunc at plumgrid.com
Fri Jul 11 22:47:37 CEST 2014


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


More information about the dev mailing list