Subject: Re: NetBSD/xen network problems (need help)
To: Manuel Bouyer <bouyer@antioche.eu.org>
From: Mike M. Volokhov <mishka@intostroy.com>
List: port-xen
Date: 01/24/2006 16:38:48
On Mon, 23 Jan 2006 22:44:29 +0100
Manuel Bouyer <bouyer@antioche.eu.org> wrote:
> On Mon, Jan 23, 2006 at 03:09:08PM +0200, Mike M. Volokhov wrote:
> > This may be beacuse of xennet/bridge tandem. ``The problem occurs when a
> > new (unlearnt) mac address is seen by bridge which passes to all
> > if_xennetS. Then all those doms send the packet back to the bridge ttl
> > - 1 using their src mac, which presumably the bridge learns then.'' See
> > also private mail from me.
>
> OK, can you try the attached patch (for netbsd-3) ?
> If should cause xennet and xvif to drop the packet if it's not for their
> mac address when not in promiscous mode.
>
Well, behaviour has been changed. I've rebuilt all kernels and
restarted the system. After that all worked fine for some time, and
after a hour or so the whole system (including dom0) has been frozen
again. Network stats:
Name Address Ipkts Ierrs Opkts Oerrs Colls
bge0 00:30:48:84:cf:98 31867 3714 24943 0 0
bge1 00:30:48:84:cf:99 23117 989 28967 0 0
lo0 206 0 206 0 0
bridge0 56841 0 58398 1312 0
bridge1 52077 0 52074 0 0
xvif1.0 aa:00:00:17:e9:7f 532 28 1444 0 0
xvif2.0 aa:00:00:51:08:e4 24353 0 29746 0 0
xvif2.1 aa:00:00:51:08:e5 28960 0 22879 0 0
xvif3.0 aa:00:00:08:e9:d2 90 0 1055 0 0
xvif4.0 aa:00:00:49:06:01 4 0 954 0 0
Heh, and with this patch I've another panic for dom2 (that one with two
xennet interfaces):
panic: kernel diagnostic assertion "((pa ^ (pa + m->m_pkthdr.len)) & PG_FRAME) == 0" failed: file "../../../../arch/xen/xen/if_xennet.c", line 1036
Stopped at netbsd:cpu_Debugger+0x4: leave
cpu_Debugger(c03f8aa8,ffffffff,c06a0e00,c06a0f38,c06a0f00) at netbsd:cpu_Debugger+0x4
panic(c033c760,c03097c7,c0338e60,c0338c40,40c) at netbsd:panic+0x121
__main(c03097c7,c0338c40,40c,c0338e60,1) at netbsd:__main
xennet_start(c072d038,c03f89cc,c072d038,2,c03f8a18) at netbsd:xennet_start+0x55a
ether_output(c072d038,c06a0e00,c036e2d8,c06ac420,c06a0e00) at netbsd:ether_output+0x38b
ip_output(c06a0e00,0,c036e2d4,1,0) at netbsd:ip_output+0x547
ip_forward(c06a0e00,1,c072f038,1,c072f038) at netbsd:ip_forward+0x176
ip_input(c06a0e00,c02c2f23,c072f038,c06a0c00,0) at netbsd:ip_input+0x29a
ipintr(fffffffe,20,5,1,c03f8e10) at netbsd:ipintr+0xad
DDB lost frame for netbsd:Xsoftnet+0x4f, trying 0xc03f8dd0
Xsoftnet() at netbsd:Xsoftnet+0x4f
--- interrupt ---
emul_freebsd_object(c03f8e4c,0,3b9a0000,ca00) at 0xc03fe000
Bad frame pointer: 0xc02ad0fc
ds 0x11
es 0x11
fs 0x31
gs 0x11
edi 0x1
esi 0x100
ebp 0xc03f88d8 emul_freebsd_object+0x6fd44
ebx 0x1
edx 0xc03fe000 emul_freebsd_object+0x7546c
ecx 0xffffffc0
eax 0xa6b
eip 0xc02ab1b0 cpu_Debugger+0x4
cs 0x9
eflags 0x202
esp 0xc03f88d8 emul_freebsd_object+0x6fd44
ss 0x11
netbsd:cpu_Debugger+0x4: leave
Stopped at netbsd:cpu_Debugger+0x4: leave
db> reboot
syncing disks... panic: m_makewritable: length changed
Stopped at netbsd:cpu_Debugger+0x4: leave
db>
--
Mishka.