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

Re: [Xen-users] PCI Passthrough of NIC



I would appreciate any help someone might be able to provide on my issue.  I did try the following based on reading some forum posts and bug reports:

ethtool -K eth2 tx off

However, I still get errors similar to the below with the above command activated.  It doesn't appear to have made any difference.

root@gateway1:~# [ 98.816957] e1000: eth2: e1000_clean_tx_irq: Detected Tx Unit Hang
[ 98.816963] Tx Queue <0>
[ 98.816965] TDH <3>
[ 98.816967] TDT <3>
[ 98.816969] next_to_use <3>
[ 98.816971] next_to_clean <0>
[ 98.816973] buffer_info[next_to_clean]
[ 98.816975] time_stamp <ffff398a>
[ 98.816977] next_to_watch <0>
[ 98.816979] jiffies <ffff3b88>
[ 98.816981] next_to_watch.status <0>

 

 

On 10/02/2012 9:21 pm, Tom Jensen wrote:

Hello,

I have been using Xen on a Debian Lenny server for quite some time.  I decided to build a new Dom0 using identical hardware, but newest version of Xen from repositories with Debian Squeeze.

I attempting to create a new DomU on the new host which is similar to an existing DomU running on the older Lenny host.  The DomU is a three NIC firewall.  Two of the NICs are virtualized.  One NIC is a physical NIC which is hidden from the Dom0 in GRUB and then passed to the DomU.  As I mentioned, this worked fine with the older Lenny Dom0.

Once I figured out how to hide the NIC on the new host with GRUB2, I am having problems using the NIC in the new DomU.  The device is present, but I am getting a lot of errors.

Below is the snippet from the Domu.cfg file where the NIC is passed:

#
# Devices delegated from Dom0
#
pci = [ '0000:02:0c.0' ]

 

As I mentioned, the device is seized and apparently passed to the DomU.  A new udev rule was added with the physical NIC MAC address.  Additionally, I was able to configure the NIC through /etc/network/interfaces.

Any attempt to use the NIC (eth2), such as a ping command, results in the following errors:

root@gateway1:~# [ 98.816957] e1000: eth2: e1000_clean_tx_irq: Detected Tx Unit Hang
[ 98.816963] Tx Queue <0>
[ 98.816965] TDH <3>
[ 98.816967] TDT <3>
[ 98.816969] next_to_use <3>
[ 98.816971] next_to_clean <0>
[ 98.816973] buffer_info[next_to_clean]
[ 98.816975] time_stamp <ffff398a>
[ 98.816977] next_to_watch <0>
[ 98.816979] jiffies <ffff3b88>
[ 98.816981] next_to_watch.status <0>
[ 100.816231] e1000: eth2: e1000_clean_tx_irq: Detected Tx Unit Hang
[ 100.816235] Tx Queue <0>
[ 100.816238] TDH <3>
[ 100.816240] TDT <3>
[ 100.816242] next_to_use <3>
[ 100.816245] next_to_clean <0>
[ 100.816247] buffer_info[next_to_clean]
[ 100.816249] time_stamp <ffff398a>
[ 100.816252] next_to_watch <0>
[ 100.816254] jiffies <ffff3d7c>
[ 100.816256] next_to_watch.status <0>
[ 102.816225] e1000: eth2: e1000_clean_tx_irq: Detected Tx Unit Hang
[ 102.816229] Tx Queue <0>
[ 102.816232] TDH <3>
[ 102.816234] TDT <3>
[ 102.816237] next_to_use <3>
[ 102.816239] next_to_clean <0>
[ 102.816241] buffer_info[next_to_clean]
[ 102.816244] time_stamp <ffff398a>
[ 102.816246] next_to_watch <0>
[ 102.816249] jiffies <ffff3f70>
[ 102.816251] next_to_watch.status <0>
[ 104.816211] e1000: eth2: e1000_clean_tx_irq: Detected Tx Unit Hang
[ 104.816216] Tx Queue <0>
[ 104.816218] TDH <3>
[ 104.816221] TDT <3>
[ 104.816223] next_to_use <3>
[ 104.816225] next_to_clean <0>
[ 104.816228] buffer_info[next_to_clean]
[ 104.816230] time_stamp <ffff398a>
[ 104.816233] next_to_watch <0>
[ 104.816235] jiffies <ffff4164>
[ 104.816237] next_to_watch.status <0>
[ 106.816079] ------------[ cut here ]------------
[ 106.816122] WARNING: at /build/buildd-linux-2.6_2.6.32-45-amd64-FcX7RM/linux-2.6-2.6.32/debian/build/source_amd64_xen/net/sched/sch_generic.c:261 dev_watchdog+0xe2/0x194()
[ 106.816141] NETDEV WATCHDOG: eth2 (e1000): transmit queue 0 timed out
[ 106.816149] Modules linked in: snd_pcm evdev snd_timer snd soundcore snd_page_alloc pcspkr ext3 jbd mbcache dm_mod e1000 xen_netfront xen_blkfront
[ 106.816194] Pid: 0, comm: swapper Tainted: G W 2.6.32-5-xen-amd64 #1
[ 106.816204] Call Trace:
[ 106.816211] <IRQ> [<ffffffff812739a6>] ? dev_watchdog+0xe2/0x194
[ 106.816228] [<ffffffff812739a6>] ? dev_watchdog+0xe2/0x194
[ 106.816241] [<ffffffff8104ef90>] ? warn_slowpath_common+0x77/0xa3
[ 106.816253] [<ffffffff812738c4>] ? dev_watchdog+0x0/0x194
[ 106.816263] [<ffffffff8104f018>] ? warn_slowpath_fmt+0x51/0x59
[ 106.816276] [<ffffffff8130e09a>] ? _spin_unlock_irqrestore+0xd/0xe
[ 106.816285] [<ffffffff8104b4a9>] ? try_to_wake_up+0x289/0x29b
[ 106.816297] [<ffffffff8107131b>] ? tick_dev_program_event+0x2d/0x95
[ 106.816308] [<ffffffff81273898>] ? netif_tx_lock+0x3d/0x69
[ 106.816318] [<ffffffff8125e2ff>] ? netdev_drivername+0x3b/0x40
[ 106.816328] [<ffffffff812739a6>] ? dev_watchdog+0xe2/0x194
[ 106.816340] [<ffffffff8100ecf2>] ? check_events+0x12/0x20
[ 106.816349] [<ffffffff8100ec12>] ? xen_vcpuop_set_next_event+0x0/0x60
[ 106.816361] [<ffffffff8105b713>] ? run_timer_softirq+0x1c9/0x268
[ 106.816372] [<ffffffff81054dbf>] ? __do_softirq+0xdd/0x1a6
[ 106.816383] [<ffffffff811f2b5f>] ? __xen_evtchn_do_upcall+0x245/0x28d
[ 106.816394] [<ffffffff81012cac>] ? call_softirq+0x1c/0x30
[ 106.816404] [<ffffffff8101422b>] ? do_softirq+0x3f/0x7c
[ 106.816414] [<ffffffff81054c2f>] ? irq_exit+0x36/0x76
[ 106.816423] [<ffffffff811f3350>] ? xen_evtchn_do_upcall+0x33/0x42
[ 106.816434] [<ffffffff81012cfe>] ? xen_do_hypervisor_callback+0x1e/0x30
[ 106.816442] <EOI> [<ffffffff810093aa>] ? hypercall_page+0x3aa/0x1001
[ 106.816456] [<ffffffff810093aa>] ? hypercall_page+0x3aa/0x1001
[ 106.816467] [<ffffffff8100ec12>] ? xen_vcpuop_set_next_event+0x0/0x60
[ 106.816477] [<ffffffff8100e6b3>] ? xen_safe_halt+0xc/0x15
[ 106.816486] [<ffffffff8100bfc7>] ? xen_idle+0x37/0x40
[ 106.816495] [<ffffffff81010e97>] ? cpu_idle+0xa2/0xda
[ 106.816505] [<ffffffff81531cdd>] ? start_kernel+0x3dc/0x3e8
[ 106.816516] [<ffffffff81533c93>] ? xen_start_kernel+0x586/0x58a
[ 106.816525] ---[ end trace 672dc18af7fa0bc2 ]---
[ 106.816686] e1000: eth2: e1000_clean_tx_irq: Detected Tx Unit Hang
[ 106.816689] Tx Queue <0>
[ 106.816691] TDH <3>
[ 106.816692] TDT <3>
[ 106.816694] next_to_use <3>
[ 106.816696] next_to_clean <0>
[ 106.816698] buffer_info[next_to_clean]
[ 106.816700] time_stamp <ffff398a>
[ 106.816702] next_to_watch <0>
[ 106.816703] jiffies <ffff4358>
[ 106.816705] next_to_watch.status <0>
[ 109.885723] e1000: eth2 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX

--
Tom Jensen
Email | tom.jensen@xxxxxxxxxxxxxxxxxxxxxx

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxx
http://lists.xen.org/xen-users
--
Tom Jensen | President
Email | tom.jensen@xxxxxxxxxxxxxxxxxxxxxx
_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxx
http://lists.xen.org/xen-users

 


Rackspace

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