[dpdk-dev] l2fwd program reported 100Mbps on a 10Gbps physical port using virtio or e1000 port in CentOS guest OS using DPDK 1.3.1r2

James Yu ypyu2011 at gmail.com
Wed Nov 27 00:01:39 CET 2013


I have a Ubuntu 12.04.3 LTS (Linux 3.2.0-53-generic) KVM host. The guest OS
is a CentOS 32bit (CentOS 6.2, Linux 2.6.32-220.el6.i686). There are two
10G ports on the KVM host with the following kvm.
root at openstack1:~# kvm --version
QEMU emulator version 1.2.0 (qemu-kvm-1.2.0), Copyright (c) 2003-2008
Fabrice Bellard
root at openstack1:~# libvirtd --version
libvirtd (libvirt) 0.9.8


The DPDK l2fwd runs inside a CentOS 6.2 OS (2.6.32-220.el6.i686 32bit
Linux) on a RHEL 6.1 KVM host (2.6.32-131.0.15.e16.x86_64).

THE PROBLEM:
Using DPDK 1.3.1r2, I got the following message to indicate the port speed
of a virtio port that l2fwd listened to for received packets. It reports as
100Mbps only although the physical port is a 10G port (Intel x520 PN
49Y7960, http://www.redbooks.ibm.com/abstracts/tips0893.html?Open). Is this
expected on the DPDK side ?


Checking link status done
Port 0 Link Up - speed *100 Mbps *- full-duplex

Port statistics ====================================
Statistics for port 0 ------------------------------
Packets sent:                        0
Packets received:                    0
Packets dropped:                     0
Aggregate statistics ===============================
Total packets sent:                  0
Total packets received:              0
Total packets dropped:               0
====================================================

The KVM information:
[root at rh188 ~]# libvirtd --version
libvirtd (libvirt) 0.10.2
[root at rh188 ~]# /usr/libexec/qemu-kvm --version
QEMU PC emulator version 0.12.1 (qemu-kvm-0.12.1.2), Copyright (c)
2003-2008 Fabrice Bellard

--
On the KVM host, physical port eth6 is 10Gbps
[root at rh188 ~]# ethtool eth6
Settings for eth6:
        Supported ports: [ FIBRE ]
        Supported link modes:   10000baseT/Full
        Supports auto-negotiation: No
        Advertised link modes:  10000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Speed: 10000Mb/s
        Duplex: Full
        Port: FIBRE
        PHYAD: 0
        Transceiver: external
        Auto-negotiation: off
        Supports Wake-on: d
        Wake-on: d
        Current message level: 0x00000007 (7)
        Link detected: yes

On KVM host, virtual interface used by the KVM guest to receive packets,
10Mbps
[root at rh188 ~]# ethtool eth6-client6
Settings for eth6-client6:
        Supported ports: [ ]
        Supported link modes:
        Supports auto-negotiation: No
        Advertised link modes:  Not reported
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Speed: 10Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: off
        MDI-X: Unknown
        Current message level: 0xffffffa1 (-95)
        Link detected: yes

eth6 and eth6-client are virtually connected to the br6 bridge
[root at rh188 ~]# brctl show
bridge name     bridge id                   STP enabled    interfaces
br6                  8000.90e2ba341e54   no                   eth6

eth6-client6

The l2fwd command running on the guest VM
100Mbps reported on l2fwd for a one port setup (receiving only)
/root/dpdk/dpdk-1.3.1r2/examples/l2fwd/build/l2fwd -c 3 -n 1 -b 000:00:03.0
-b 000:00:07.0 -b 000:00:0a.0 -b 000:00:09.0 -- -q 1 -p 1

the same (100Mbps) reported on l2fwd for a two ports setup (looping back
received traffic to the other port) too
/root/dpdk/dpdk-1.3.1r2/
examples/l2fwd/build/l2fwd -c 3 -n 1 -b 000:00:03.0 -b 000:00:07.0 -b
000:00:0a.0 -- -q 2 -p 3

Thanks

James


More information about the dev mailing list