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