bug disabling guest interface

Jacek Milewicz
Tue, 05 Mar 2013 22:51:31 -0000

Hi all

We have recently encountered a bug in xen causing guest interface to be
disabled in certain conditions:
- dom0 with this patch https://patchwork.kernel.org/patch/2164311/
- guest kernel built in way that makes guest MAX_SKB_FRAGS larger than
MAX_SKB_FRAGS on dom0
For example dom0 kernel from here
http://au1.mirror.crc.id.au/repo/el6/x86_64/
Linux blade-b.maemo.org 3.7.9-1.el6xen.x86_64 #1 SMP Mon Feb 18 14:46:35
EST 2013 x86_64 x86_64 x86_64 GNU/Linux
And domU
Linux stage.maemo.org 2.6.32-33-server #72-Ubuntu SMP Fri Jul 29 21:21:55
UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

In this example dom0 MAX_SKB_FRAGS is at 17 while MAX_SKB_FRAGS at domU is
18

I did find a post making a comment about it
http://lists.xen.org/archives/html/xen-devel/2012-11/msg01072.html

>This highlights a couple of issues, the main one is that implicitly
>including MAX_SKB_FRAGS in the PV net protocol is just madness.


More details from host:
xenbr1: port 8(vif51.0) entered forwarding state
vif vif-51-0 vif51.0: Too many frags
vif vif-51-0 vif51.0: fatal error; disabling device
xenbr1: port 8(vif51.0) entered disabled state

[root@blade-b ~]# xm info
host                   : blade-b.maemo.org
release                : 3.7.9-1.el6xen.x86_64
version                : #1 SMP Mon Feb 18 14:46:35 EST 2013
machine                : x86_64
nr_cpus                : 12
nr_nodes               : 1
cores_per_socket       : 6
threads_per_core       : 2
cpu_mhz                : 2000
hw_caps                :
bfebfbff:2c100800:00000000:00003f40:17bee3ff:00000000:00000001:00000000
virt_caps              : hvm hvm_directio
total_memory           : 32735
free_memory            : 1076
free_cpus              : 0
xen_major              : 4
xen_minor              : 2
xen_extra              : .1
xen_caps               : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32
hvm-3.0-x86_32p hvm-3.0-x86_64
xen_scheduler          : credit
xen_pagesize           : 4096
platform_params        : virt_start=0xffff800000000000
xen_changeset          : unavailable
xen_commandline        : dom0_mem=1024M loglvl=all guest_loglvl=all
cpuidle=0 cpufreq=none
cc_compiler            : gcc (GCC) 4.4.6 20120305 (Red Hat 4.4.6-4)
cc_compile_by          : mockbuild
cc_compile_domain      : crc.id.au
cc_compile_date        : Sat Feb 16 19:16:38 EST 2013
xend_config_format     : 4