Kernel panics or no network traffic with network cards that implement LRO
Issue
When using a network card which supports Large Receive Offload (LRO), you may encounter the following panic when traffic forwarding and LRO are enabled:
Kernel BUG at drivers/net/tun.c:476
invalid opcode: 0000 [1] SMP
last sysfs file: /devices/pci0000:00/0000:00:03.0/local_cpus
CPU 4
Modules linked in: tun ipt_REJECT xt_tcpudp x_tables bridge autofs4 hidp rfcomm l2cap bluetooth dm_log_clustered(U) lockd sunrpc ib_iser rdma_cm ib_cm iw_cm ib_sa ib_mad ib_core ib_addr iscsi_tcp bnx2i cnic ipv6 xfrm_nalgo crypto_api uio cxgb3i cxgb3 8021q libiscsi_tcp libiscsi2 scsi_transport_iscsi2 scsi_transport_iscsi dm_mirror dm_multipath scsi_dh video hwmon backlight sbs i2c_ec button battery asus_acpi acpi_memhotplug ac parport_pc lp parport ksm(U) kvm_amd(U) kvm(U) joydev i2c_piix4 bnx2x i2c_core hpilo serio_raw pcspkr dm_raid45 dm_message dm_region_hash dm_log dm_mod dm_mem_cache usb_storage shpchp cciss sd_mod scsi_mod ext3 jbd uhci_hcd ohci_hcd ehci_hcd
Pid: 6062, comm: qemu-kvm Tainted: G 2.6.18-164.el5 #1
RIP: 0010:[<ffffffff8864b7d9>] [<ffffffff8864b7d9>] :tun:tun_chr_readv+0x2b1/0x3a6
RSP: 0018:ffff8101090d9e48 EFLAGS: 00010246
RAX: 0000000000000000 RBX: ffff8101090d9e98 RCX: 0000000010545010
RDX: ffff81022638d700 RSI: ffff8101090d9e9e RDI: ffff8101090d9e92
RBP: 0000000000010ff6 R08: 0000000000000000 R09: 0000000000000001
R10: ffff8101090d9e94 R11: 0000000000000048 R12: ffff810226387980
R13: ffff81022eebbd00 R14: 0000000000000000 R15: ffff8101090d9ef8
FS: 00002b54898e1f90(0000) GS:ffff8101043191c0(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 0000000018027ba8 CR3: 0000000127892000 CR4: 00000000000006e0
Process qemu-kvm (pid: 6062, threadinfo ffff8101090d8000, task ffff81012bf3f820)
Stack: ffff8102161a5cc0 ffff81022fd543c0 0000000000000000 ffff81012bf3f820
ffffffff8008be44 ffff81022eebbd28 ffff81022eebbd28 ffff81012ffb2588
000005ea05ea0000 0000000000000000 000042de01005254 0000000000000000
Call Trace:
[<ffffffff8008be44>] default_wake_function+0x0/0xe
[<ffffffff8864b8e8>] :tun:tun_chr_read+0x1a/0x1f
[<ffffffff8000b695>] vfs_read+0xcb/0x171
[<ffffffff80011b72>] sys_read+0x45/0x6e
[<ffffffff8005d28d>] tracesys+0xd5/0xe0
Code: 0f 0b 68 c8 c4 64 88 c2 dc 01 f6 42 0a 08 74 0c 80 4c 24 41
RIP [<ffffffff8864b7d9>] :tun:tun_chr_readv+0x2b1/0x3a6
RSP <ffff8101090d9e48>
Traffic forwarding is commonly used to provide network connectivity to virtualized guests.
Environment
Red Hat Enterprise Linux 5.4
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.