[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] RFC: Xen VMDq patch for ixgbe


  • To: xen-devel@xxxxxxxxxxxxxxxxxxx
  • From: "Mitch Williams" <mitch.a.williams@xxxxxxxxx>
  • Date: Fri, 16 Jan 2009 15:05:45 -0800
  • Cc: steven.smith@xxxxxxxxxxxxx, john.ronciak@xxxxxxxxx, joserenato.santos@xxxxxx
  • Delivery-date: Fri, 16 Jan 2009 15:06:19 -0800
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:sender:to:subject:cc:mime-version:content-type :x-google-sender-auth; b=s4erVmW7UQHhkLT/zKo6VEm5S/pjloetJs07RojgahxoxLexzcD76IMtnQMGTJClgh dUd9bjltVHJA19wwqFT6YUFs6kz9XvypT517MQsb50MrIULz+rb83Vuro8gUUu271Sw9 cC457E1d8MpYmS5Xj4HCTCCXVrVYOyMQEIYfM=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

Attached is a patch to enable Xen VMDq (AKA Netchannel2 vmq) for the
ixgbe driver.  This is intended for testing and development purposes
and should not be considered to be production-quality code.

Please note that this does NOT apply to the Xen Linux kernel; it
applies to the ixgbe 1.3.47 release, available from
http://sourceforge.net/projects/e1000/.  You'll obviously also need an
Intel 82598-based 10 Gigabit network card and some sort of link
partner.  This will build against the current Netchannel2 source
available from http:xenbits.xen.org/ext/netchannel2.  You'll need to
enable "Net channel 2 support for multi-queue devices" in your kernel
config.

To enable VMDq functionality, load the driver with the command-line
parameter VMDQ=<num queues>, as in:

$ insmod ~/ixgbe-1.3.47/src/ixgbe.ko VMDQ=8

You can then set up PV domains to use the device by modifying your VM
configuration file from
     vif = [ '<whatever>' ]
to
     vif2 = [ 'pdev=<netdev>' ]
where <netdev> is the interface name for your 82598 board, e.g peth0 in dom0.

Known issues (at least, known by me):
1) Must manually attach bridge device after starting domU vm.
Netchannel2 backend devices show up as ethNN, not vifN.M, so the
scripts don't automatically attach the interface.  Once your VM
starts, do ifconfig -a to see which new interface got added.  Then use
"brctl addif" to add this new interface the the bridge.
2) No broadcast replication.  This is a big one.  Incoming broadcasts
will ONLY go to dom0.  This means that your VMs can send ARP requests
and initiate IP sessions to outside machines, but outside machines
cannot initiate connections because the ARP requests don't go to the
domU VMs.
3) No loopback.  VMs cannot communicate with other VMs (including
dom0) on the same machine.

Once I get this out, I'll start working on a proper backport of the
driver into the Xen kernel (2.6.18.8) tree.  I'll remove as much of
the compatibility cruft as is prudent and properly integrate it into
the Kbuild stuff.   When that's done, I'll send a complete patchset to
this list, including signed-off-by lines which can then be checked in
to Mercurial.

Please review and comment, and if possible test.

Thanks,
Mitch

Attachment: ixgbe-vmdq-1.3.47.patch
Description: Binary data

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.