From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Derzhavets Subject: Re: Re: [Xen-devel] ARP problems with xen 4.0 with pvops kernel Date: Wed, 2 Jun 2010 12:26:11 -0700 (PDT) Message-ID: <83243.28786.qm@web56103.mail.re3.yahoo.com> References: <1275504820.2512.25.camel@luis-port> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1899846662==" Return-path: In-Reply-To: <1275504820.2512.25.camel@luis-port> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-users-bounces@lists.xensource.com Errors-To: xen-users-bounces@lists.xensource.com To: Jeremy Fitzhardinge , luis.silva@axiomasoft.pt Cc: xen-devel@lists.xensource.com, xen-users@lists.xensource.com List-Id: xen-devel@lists.xenproject.org --===============1899846662== Content-Type: multipart/alternative; boundary="0-1376760140-1275506771=:28786" --0-1376760140-1275506771=:28786 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Could you,please, build and try 2.6.32.10 ( xen/stable) ? Boris. --- On Wed, 6/2/10, Lu=EDs Silva wrote: From: Lu=EDs Silva Subject: [Xen-users] Re: [Xen-devel] ARP problems with xen 4.0 with pvops k= ernel To: "Jeremy Fitzhardinge" Cc: xen-devel@lists.xensource.com, xen-users@lists.xensource.com Date: Wednesday, June 2, 2010, 2:53 PM =0A=0A=0A =0A =0AHello, =0A =0AOn Wed, 2010-06-02 at 09:06 -0700, Jeremy Fitzhardinge wrote:=0A=0AOn 06= /02/2010 01:47 AM, Lu=EDs Silva wrote: > Hello, > > I'm using the latest stable-2.6.32.x. I already tried "ethtool -K > tx off", but that didn't make any difference. Also, this only > happen with pv, in hvm mode all works ok and the domU sees the arp > messages... Yes, ARP is a new twist on network problems. I'm guessing you're using hvm without stubdoms, which means that its networking originates from qemu within dom0, whereas PV and HVM+stubdom comes via netback. =0A=0AYes, when I mentioned hvm I was talking about hvm without stubdoms. I= haven't tried those yet.=0A=0ABut aside from that, I'm stumped. Are you r= unning any firewalls on either side? Can you try disabling all the offloads (tx, rx, gso, tso) on all the relevent interfaces (bridge, netback, within the guest) and see if that changes anything? J =0A=0A =0AOk, this is the bridge interface: =0A =0Abrctl show bridge name=09bridge id=09=09STP enabled=09interfaces virbr0=09=098000.feffffffffff=09no=09=09vif1.0 ifconfig virbr0 virbr0=A0=A0=A0 Link encap:Ethernet=A0 HWaddr c2:ef:67:2b:a4:23=A0=20 =A0=A0=A0=A0=A0=A0=A0=A0=A0 inet addr:192.168.120.254=A0 Bcast:192.168.120.= 255=A0 Mask:255.255.255.0 =A0=A0=A0=A0=A0=A0=A0=A0=A0 inet6 addr: fe80::c0ef:67ff:fe2b:a423/64 Scope:= Link =A0=A0=A0=A0=A0=A0=A0=A0=A0 UP BROADCAST RUNNING MULTICAST=A0 MTU:1500=A0 M= etric:1 =A0=A0=A0=A0=A0=A0=A0=A0=A0 RX packets:0 errors:0 dropped:0 overruns:0 fram= e:0 =A0=A0=A0=A0=A0=A0=A0=A0=A0 TX packets:25 errors:0 dropped:0 overruns:0 car= rier:0 =A0=A0=A0=A0=A0=A0=A0=A0=A0 collisions:0 txqueuelen:0=20 =A0=A0=A0=A0=A0=A0=A0=A0=A0 RX bytes:0 (0.0 B)=A0 TX bytes:4662 (4.6 KB) =0A =0AI'm not using firewall other than the rules defined by libvirt. DomU has= no firewall and the rules in dom0 are only these (virbr0 is natted to the = outside, virbr1 is routed. The result is the same in either one of them):= =0Asudo iptables -L -n -v Chain INPUT (policy ACCEPT 241K packets, 53M bytes) pkts bytes target=A0=A0=A0=A0 prot opt in=A0=A0=A0=A0 out=A0=A0=A0=A0 sour= ce=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 destination=A0=A0=A0=A0=A0=A0= =A0=A0=20 =A0=A0=A0 0=A0=A0=A0=A0 0 ACCEPT=A0=A0=A0=A0 udp=A0 --=A0 virbr1 *=A0=A0=A0= =A0=A0=A0 0.0.0.0/0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 0.0.0.0/0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 udp dpt:53=20 =A0=A0=A0 0=A0=A0=A0=A0 0 ACCEPT=A0=A0=A0=A0 tcp=A0 --=A0 virbr1 *=A0=A0=A0= =A0=A0=A0 0.0.0.0/0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 0.0.0.0/0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 tcp dpt:53=20 =A0=A0=A0 0=A0=A0=A0=A0 0 ACCEPT=A0=A0=A0=A0 udp=A0 --=A0 virbr1 *=A0=A0=A0= =A0=A0=A0 0.0.0.0/0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 0.0.0.0/0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 udp dpt:67=20 =A0=A0=A0 0=A0=A0=A0=A0 0 ACCEPT=A0=A0=A0=A0 tcp=A0 --=A0 virbr1 *=A0=A0=A0= =A0=A0=A0 0.0.0.0/0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 0.0.0.0/0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 tcp dpt:67=20 =A0=A0=A0 8=A0=A0 515 ACCEPT=A0=A0=A0=A0 udp=A0 --=A0 virbr0 *=A0=A0=A0=A0= =A0=A0 0.0.0.0/0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 0.0.0.0/0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 udp dpt:53=20 =A0=A0=A0 0=A0=A0=A0=A0 0 ACCEPT=A0=A0=A0=A0 tcp=A0 --=A0 virbr0 *=A0=A0=A0= =A0=A0=A0 0.0.0.0/0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 0.0.0.0/0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 tcp dpt:53=20 =A0=A0=A0 0=A0=A0=A0=A0 0 ACCEPT=A0=A0=A0=A0 udp=A0 --=A0 virbr0 *=A0=A0=A0= =A0=A0=A0 0.0.0.0/0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 0.0.0.0/0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 udp dpt:67=20 =A0=A0=A0 0=A0=A0=A0=A0 0 ACCEPT=A0=A0=A0=A0 tcp=A0 --=A0 virbr0 *=A0=A0=A0= =A0=A0=A0 0.0.0.0/0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 0.0.0.0/0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 tcp dpt:67=20 Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target=A0=A0=A0=A0 prot opt in=A0=A0=A0=A0 out=A0=A0=A0=A0 sour= ce=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 destination=A0=A0=A0=A0=A0=A0= =A0=A0=20 =A0=A0=A0 0=A0=A0=A0=A0 0 ACCEPT=A0=A0=A0=A0 all=A0 --=A0 *=A0=A0=A0=A0=A0 = virbr1=A0 0.0.0.0/0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 192.168.121.0/24=A0=A0= =A0=20 =A0=A0=A0 0=A0=A0=A0=A0 0 ACCEPT=A0=A0=A0=A0 all=A0 --=A0 virbr1 *=A0=A0=A0= =A0=A0=A0 192.168.121.0/24=A0=A0=A0=A0 0.0.0.0/0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=20 =A0=A0=A0 0=A0=A0=A0=A0 0 ACCEPT=A0=A0=A0=A0 all=A0 --=A0 virbr1 virbr1=A0 = 0.0.0.0/0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 0.0.0.0/0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=20 =A0=A0=A0 0=A0=A0=A0=A0 0 REJECT=A0=A0=A0=A0 all=A0 --=A0 *=A0=A0=A0=A0=A0 = virbr1=A0 0.0.0.0/0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 0.0.0.0/0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 reject-with icmp-port-unreachable=20 =A0=A0=A0 0=A0=A0=A0=A0 0 REJECT=A0=A0=A0=A0 all=A0 --=A0 virbr1 *=A0=A0=A0= =A0=A0=A0 0.0.0.0/0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 0.0.0.0/0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 reject-with icmp-port-unreachable=20 =A0=A0 13=A0 3448 ACCEPT=A0=A0=A0=A0 all=A0 --=A0 *=A0=A0=A0=A0=A0 virbr0= =A0 0.0.0.0/0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 192.168.120.0/24=A0=A0=A0 st= ate RELATED,ESTABLISHED=20 =A0=A0 16=A0 1374 ACCEPT=A0=A0=A0=A0 all=A0 --=A0 virbr0 *=A0=A0=A0=A0=A0= =A0 192.168.120.0/24=A0=A0=A0=A0 0.0.0.0/0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=20 =A0=A0=A0 0=A0=A0=A0=A0 0 ACCEPT=A0=A0=A0=A0 all=A0 --=A0 virbr0 virbr0=A0 = 0.0.0.0/0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 0.0.0.0/0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=20 =A0=A0=A0 0=A0=A0=A0=A0 0 REJECT=A0=A0=A0=A0 all=A0 --=A0 *=A0=A0=A0=A0=A0 = virbr0=A0 0.0.0.0/0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 0.0.0.0/0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 reject-with icmp-port-unreachable=20 =A0=A0=A0 0=A0=A0=A0=A0 0 REJECT=A0=A0=A0=A0 all=A0 --=A0 virbr0 *=A0=A0=A0= =A0=A0=A0 0.0.0.0/0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 0.0.0.0/0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 reject-with icmp-port-unreachable=20 Chain OUTPUT (policy ACCEPT 233K packets, 27M bytes) pkts bytes target=A0=A0=A0=A0 prot opt in=A0=A0=A0=A0 out=A0=A0=A0=A0 sour= ce=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 destination =0A =0A =0AAnd these are the various offload parameters as set at boot: =0A =0AOffload parameters for virbr0: rx-checksumming: on tx-checksumming: on scatter-gather: on tcp-segmentation-offload: on udp-fragmentation-offload: on generic-segmentation-offload: on generic-receive-offload: off large-receive-offload: off Offload parameters for vif1.0: rx-checksumming: on tx-checksumming: on scatter-gather: on tcp-segmentation-offload: on udp-fragmentation-offload: off generic-segmentation-offload: on generic-receive-offload: off large-receive-offload: off Offload parameters for eth0: rx-checksumming: on tx-checksumming: on scatter-gather: on tcp-segmentation-offload: on udp-fragmentation-offload: off generic-segmentation-offload: off generic-receive-offload: off large-receive-offload: off =0A =0ATo disable all checksuming I run the following commands: =0Adom0:=0Asudo ethtool -K virbr0 tx off sg off tso off gso off gro off sudo ethtool -K vif1.0 tx off sg off tso off gso off gro off =0AdomU=0Asudo ethtool -K eth0 tx off sg off tso off gso off gro off =0A =0AThis managed to get all parameter to off in the mentioned interfaces, bu= t unfortunately the result is the same. The arp requests get to vif1.0, but= not to eth0 on the domU. =0A =0Asudo tcpdump -i vif1.0 -n -vv arp tcpdump: WARNING: vif1.0: no IPv4 address assigned tcpdump: listening on vif1.0, link-type EN10MB (Ethernet), capture size 96 = bytes 19:43:51.233378 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.16= 8.120.1 tell 192.168.120.254, length 28 19:43:52.233164 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.16= 8.120.1 tell 192.168.120.254, length 28 19:43:53.233166 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.16= 8.120.1 tell 192.168.120.254, length 28 19:43:54.684214 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.16= 8.120.1 tell 192.168.120.254, length 28 19:43:55.684218 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.16= 8.120.1 tell 192.168.120.254, length 28 19:43:56.684232 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.16= 8.120.1 tell 192.168.120.254, length 28 =0A =0AI hope this information is enough. If I can provide anything else to hel= p debug or test, please just ask! ;) =0A =0AThanks in advance, =0ALu=EDs =0A =0A=0A> > Thanks, > Lu=EDs > > On Tue, 2010-06-01 at 18:20 -0700, Jeremy Fitzhardinge wrote: >> On 06/01/2010 05:38 PM, Lu=EDs Silva wrote: >> > Hello, >> > >> > Finally I managed to get a xen 4.0 working on ubuntu 10.04 with pvops >> > kernel and libvirt. However I am having some problems with >> > networking... after initial installation with netinstall image in hvm >> > mode, when I transform the vm in xen pv (via pygrub with the current >> > ubuntu kernel), networking startEd to act weird... >> > >> > Basically I'm not using a network script from xen. I define a bridge >> > (manually or via libvirt, the result is the same) and I use vif-bridge >> > to connect the vif to it. But now the weird part comes: I can >> > communicate from domU to dom0, but not the other way around, unless I >> > keep a ping running from domU to dom0... That's right, weird... while >> > trying the ping from dom0 to domU, I used tcpdump both on the bridge, >> > on the vif and on the eth0 in the domU. The arp packets never get to >> > domU, but they appear both in the bridge and the vif sniff's... >> >> What version of kernel are you using in dom0 and domU? There was a >> netback bug which caused problems with dom0<->domU communication, but it >> has been fixed for a while in 2.6.32 (but only recently in .31). The >> workaround is to disable tx checksum offload on your bridge (ethtool -K >> tx off). >> >> J >> >> > >> > Here is the bridge: >> > ifconfig virbr0 >> > virbr0 Link encap:Ethernet HWaddr fe:ff:ff:ff:ff:ff =20 >> > inet addr:192.168.120.254 Bcast:192.168.120.255 Mask:255.2= 55.255.0 >> > inet6 addr: fe80::7cee:4bff:fe82:e63f/64 Scope:Link >> > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 >> > RX packets:16 errors:0 dropped:0 overruns:0 frame:0 >> > TX packets:226 errors:0 dropped:0 overruns:0 carrier:0 >> > collisions:0 txqueuelen:0=20 >> > RX bytes:952 (952.0 B) TX bytes:13953 (13.9 KB) >> > >> > >> > brctl show >> > bridge name=09bridge id=09=09STP enabled=09interfaces >> > virbr0=09=098000.feffffffffff=09no=09=09vif5.0 >> > >> > >> > tcpdump -i virbr0 -vv -n >> > tcpdump: listening on virbr0, link-type EN10MB (Ethernet), capture siz= e 96 bytes >> > 01:31:25.945151 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto= ICMP (1), length 84) >> > 192.168.120.254 > 192.168.120.1: ICMP echo request, id 10317, seq = 1, length 64 >> > 01:31:26.945361 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto= ICMP (1), length 84) >> > 192.168.120.254 > 192.168.120.1: ICMP echo request, id 10317, seq = 2, length 64 >> > 01:31:27.945420 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto= ICMP (1), length 84) >> > 192.168.120.254 > 192.168.120.1: ICMP echo request, id 10317, seq = 3, length 64 >> > 01:31:28.945362 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto= ICMP (1), length 84) >> > 192.168.120.254 > 192.168.120.1: ICMP echo request, id 10317, seq = 4, length 64 >> > 01:31:29.945364 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto= ICMP (1), length 84) >> > 192.168.120.254 > 192.168.120.1: ICMP echo request, id 10317, seq = 5, length 64 >> > 01:31:30.944300 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 1= 92.168.120.1 tell 192.168.120.254, length 28 >> > 01:31:30.945359 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto= ICMP (1), length 84) >> > 192.168.120.254 > 192.168.120.1: ICMP echo request, id 10317, seq = 6, length 64 >> > 01:31:31.944297 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 1= 92.168.120.1 tell 192.168.120.254, length 28 >> > 01:31:31.945444 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto= ICMP (1), length 84) >> > 192.168.120.254 > 192.168.120.1: ICMP echo request, id 10317, seq = 7, length 64 >> > 01:31:32.944294 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 1= 92.168.120.1 tell 192.168.120.254, length 28 >> > 01:31:32.945401 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto= ICMP (1), length 84) >> > 192.168.120.254 > 192.168.120.1: ICMP echo request, id 10317, seq = 8, length 64 >> > 01:31:33.947293 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 1= 92.168.120.1 tell 192.168.120.254, length 28 >> > 01:31:34.947373 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 1= 92.168.120.1 tell 192.168.120.254, length 28 >> > 01:31:35.947353 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 1= 92.168.120.1 tell 192.168.120.254, length 28 >> > 01:31:37.948352 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 1= 92.168.120.1 tell 192.168.120.254, length 28 >> > 01:31:38.948399 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 1= 92.168.120.1 tell 192.168.120.254, length 28 >> > 01:31:39.948376 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 1= 92.168.120.1 tell 192.168.120.254, length 28 >> > 01:31:40.949356 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 1= 92.168.120.1 tell 192.168.120.254, length 28 >> > >> > >> > tcpdump -i vif5.0 -vv -n >> > tcpdump: WARNING: vif5.0: no IPv4 address assigned >> > tcpdump: listening on vif5.0, link-type EN10MB (Ethernet), capture siz= e 96 bytes >> > 01:32:19.956358 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 1= 92.168.120.1 tell 192.168.120.254, length 28 >> > 01:32:20.956358 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 1= 92.168.120.1 tell 192.168.120.254, length 28 >> > 01:32:21.956359 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 1= 92.168.120.1 tell 192.168.120.254, length 28 >> > 01:32:23.957311 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 1= 92.168.120.1 tell 192.168.120.254, length 28 >> > 01:32:24.957312 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 1= 92.168.120.1 tell 192.168.120.254, length 28 >> > 01:32:25.957359 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 1= 92.168.120.1 tell 192.168.120.254, length 28 >> > 01:32:27.958360 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 1= 92.168.120.1 tell 192.168.120.254, length 28 >> > 01:32:28.958310 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 1= 92.168.120.1 tell 192.168.120.254, length 28 >> > 01:32:29.958362 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 1= 92.168.120.1 tell 192.168.120.254, length 28 >> > =20 >> > >> > >> > Forwarding and iptables don't seem to be the problem, because if I >> > initiate a ping from domU (at the same time as the failing one from >> > dom0), the ping in dom0 starts to work. As soon as I stop the ping in >> > domU, the one in dom0 starts failing again... >> > >> > Is anyone having the same problem? Is this a bug in the kernel? In >> > dom0 or domU? >> > >> > Thanks in advance, >> > Lu=EDs >> > >> > >> > _______________________________________________ >> > Xen-devel mailing list >> > Xen-devel@lists.xensource.com >> > http://lists.xensource.com/xen-devel >> > =20 >> >> >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@lists.xensource.com >> http://lists.xensource.com/xen-devel >> >> =20 > =0A=0A =0A =0A -----Inline Attachment Follows----- _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users=0A=0A=0A --0-1376760140-1275506771=:28786 Content-Type: text/html; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable
Could you,please, build and try 2.6.32.10 ( x= en/stable) ?

Boris.

--- On Wed, 6/2/10, Lu=EDs Silva &l= t;luis.silva@axiomasoft.pt> wrote:
<= br>From: Lu=EDs Silva <luis.silva@axiomasoft.pt>
Subject: [Xen-use= rs] Re: [Xen-devel] ARP problems with xen 4.0 with pvops kernel
To: "Jer= emy Fitzhardinge" <jeremy@goop.org>
Cc: xen-devel@lists.xensource.= com, xen-users@lists.xensource.com
Date: Wednesday, June 2, 2010, 2:53 P= M

=0A=0A=0A =0A =0AHello,
=0A
=0AO= n Wed, 2010-06-02 at 09:06 -0700, Jeremy Fitzhardinge wrote:=0A
=0A
On 06/02/2010 01:47 AM, Lu=EDs Silva wrote:
> H= ello,
>
> I'm using the latest stable-2.6.32.x. I already tried= "ethtool -K
> <bridge> tx off", but that didn't make any diffe= rence. Also, this only
> happen with pv, in hvm mode all works ok and= the domU sees the arp
> messages...

Yes, ARP is a new twist o= n network problems. I'm guessing you're using
hvm without stubdoms, whi= ch means that its networking originates from
qemu within dom0, whereas P= V and HVM+stubdom comes via netback.

=0A
=0AYes, w= hen I mentioned hvm I was talking about hvm without stubdoms. I haven't tri= ed those yet.=0A
=0A
But aside from that, I'm =
stumped.  Are you running any firewalls on
either side? Can you try di= sabling all the offloads (tx, rx, gso, tso)
on all the relevent interfac= es (bridge, netback, within the guest) and
see if that changes anything?=

J

=0A
=0A
=0AOk, this is the bridge= interface:
=0A
=0A
brctl show
bridge name=09bridge id=09=09ST= P enabled=09interfaces
virbr0=09=098000.feffffffffff=09no=09=09vif1.0
ifconfig virbr0
virbr0    Link encap:Ethernet  = HWaddr c2:ef:67:2b:a4:23 
      &nbs= p;   inet addr:192.168.120.254  Bcast:192.168.120.255  = Mask:255.255.255.0
         = ; inet6 addr: fe80::c0ef:67ff:fe2b:a423/64 Scope:Link
   =        UP BROADCAST RUNNING MULTICAST  M= TU:1500  Metric:1
        &= nbsp; RX packets:0 errors:0 dropped:0 overruns:0 frame:0
  &nb= sp;       TX packets:25 errors:0 dropped:0 ov= erruns:0 carrier:0
         = ; collisions:0 txqueuelen:0
       &= nbsp;  RX bytes:0 (0.0 B)  TX bytes:4662 (4.6 KB)
=0A
=0AI'm not using firewall other tha= n the rules defined by libvirt. DomU has no firewall and the rules in dom0 = are only these (virbr0 is natted to the outside, virbr1 is routed. The resu= lt is the same in either one of them):=0A
sudo iptables -L -n -v
Cha= in INPUT (policy ACCEPT 241K packets, 53M bytes)
pkts bytes target = ;    prot opt in     out  &nbs= p;  source          =      destination      &nb= sp; 
    0     0 ACCEPT &n= bsp;   udp  --  virbr1 *     &= nbsp; 0.0.0.0/0          =   0.0.0.0/0          = ; udp dpt:53
    0     0 ACCEPT = ;    tcp  --  virbr1 *    &nbs= p;  0.0.0.0/0         &nb= sp;  0.0.0.0/0         &n= bsp; tcp dpt:53
    0     0 ACCEPT   = ;  udp  --  virbr1 *       0.0= .0.0/0            0.= 0.0.0/0           udp dpt= :67
    0     0 ACCEPT  &n= bsp;  tcp  --  virbr1 *       = 0.0.0.0/0           = 0.0.0.0/0           tcp = dpt:67
    8   515 ACCEPT   &nb= sp; udp  --  virbr0 *       0.0.0.0= /0            0.0.0.= 0/0           udp dpt:53 =
    0     0 ACCEPT     tcp  --  virbr0 *  &nbs= p;    0.0.0.0/0       &nb= sp;    0.0.0.0/0       &n= bsp;   tcp dpt:53
    0    = ; 0 ACCEPT     udp  --  virbr0 *  &= nbsp;    0.0.0.0/0       =      0.0.0.0/0       = ;    udp dpt:67
    0   &n= bsp; 0 ACCEPT     tcp  --  virbr0 * &nbs= p;     0.0.0.0/0      &nb= sp;     0.0.0.0/0      &n= bsp;    tcp dpt:67

Chain FORWARD (policy ACCEPT 0 pa= ckets, 0 bytes)
pkts bytes target     prot opt in     out     source &nb= sp;            = destination        
 &nbs= p;  0     0 ACCEPT     all&nbs= p; --  *      virbr1  0.0.0.0/0 &nb= sp;          192.168.121.0/24&= nbsp;  
    0     0 ACCEPT=      all  --  virbr1 *    = ;   192.168.121.0/24     0.0.0.0/0  = ;        
    0&= nbsp;    0 ACCEPT     all  -- = virbr1 virbr1  0.0.0.0/0       &nb= sp;    0.0.0.0/0          
=     0     0 REJECT   &nbs= p; all  --  *      virbr1  0.0.0.0/= 0            0.0.0.0= /0           reject-with = icmp-port-unreachable
    0     0 RE= JECT     all  --  virbr1 *   &= nbsp;   0.0.0.0/0        =     0.0.0.0/0        = ;   reject-with icmp-port-unreachable
   13  3= 448 ACCEPT     all  --  *   &n= bsp;  virbr0  0.0.0.0/0       =      192.168.120.0/24    state RELATED,ESTABLISHED
   16  1374 ACCEPT   = ;  all  --  virbr0 *       192= .168.120.0/24     0.0.0.0/0    &nbs= p;     
    0   =   0 ACCEPT     all  --  virbr0 virbr0&nb= sp; 0.0.0.0/0          &n= bsp; 0.0.0.0/0           =
    0     0 REJECT   =   all  --  *      virbr0  0.0.= 0.0/0            0.0= .0.0/0           reject-w= ith icmp-port-unreachable
    0     = 0 REJECT     all  --  virbr0 *       0.0.0.0/0    &nb= sp;       0.0.0.0/0    &n= bsp;      reject-with icmp-port-unreachable
Chain OUTPUT (policy ACCEPT 233K packets, 27M bytes)
pkts bytes targe= t     prot opt in     out &nbs= p;   source         =       destination
=0A
=0A
=0AAnd th= ese are the various offload parameters as set at boot:
=0A
=0A
Of=
fload parameters for virbr0:
rx-checksumming: on
tx-checksumming: on<= br>scatter-gather: on
tcp-segmentation-offload: on
udp-fragmentation-= offload: on
generic-segmentation-offload: on
generic-receive-offload:= off
large-receive-offload: off

Offload parameters for vif1.0:rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp-se= gmentation-offload: on
udp-fragmentation-offload: off
generic-segment= ation-offload: on
generic-receive-offload: off
large-receive-offload:= off

Offload parameters for eth0:
rx-checksumming: on
tx-check= summing: on
scatter-gather: on
tcp-segmentation-offload: on
udp-fr= agmentation-offload: off
generic-segmentation-offload: off
generic-re= ceive-offload: off
large-receive-offload: off
=0A
=0ATo disa= ble all checksuming I run the following commands:
=0Adom0:=0A
sudo e=
thtool -K virbr0 tx off sg off tso off gso off gro off
sudo ethtool -K v= if1.0 tx off sg off tso off gso off gro off
=0AdomU=0A
sudo et=
htool -K eth0 tx off sg off tso off gso off gro off
=0A
=0AThis= managed to get all parameter to off in the mentioned interfaces, but unfor= tunately the result is the same. The arp requests get to vif1.0, but not to= eth0 on the domU.
=0A
=0A
sudo tcpdump -i vif1.0 -n -vv arp
t= cpdump: WARNING: vif1.0: no IPv4 address assigned
tcpdump: listening on = vif1.0, link-type EN10MB (Ethernet), capture size 96 bytes
19:43:51.2333= 78 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.120.1 tell = 192.168.120.254, length 28
19:43:52.233164 ARP, Ethernet (len 6), IPv4 (= len 4), Request who-has 192.168.120.1 tell 192.168.120.254, length 28
19= :43:53.233166 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.= 120.1 tell 192.168.120.254, length 28
19:43:54.684214 ARP, Ethernet (len= 6), IPv4 (len 4), Request who-has 192.168.120.1 tell 192.168.120.254, leng= th 28
19:43:55.684218 ARP, Ethernet (len 6), IPv4 (len 4), Request who-h= as 192.168.120.1 tell 192.168.120.254, length 28
19:43:56.684232 ARP, Et= hernet (len 6), IPv4 (len 4), Request who-has 192.168.120.1 tell 192.168.12= 0.254, length 28
=0A
=0AI hope this information is enough. If I= can provide anything else to help debug or test, please just ask! ;)
= =0A
=0AThanks in advance,
=0ALu=EDs
=0A
=0A
=0A
>
> Thanks,
> Lu=EDs
>
> On Tue, 2= 010-06-01 at 18:20 -0700, Jeremy Fitzhardinge wrote:
>> On 06/01/2= 010 05:38 PM, Lu=EDs Silva wrote:
>> > Hello,
>> ><= br>>> > Finally I managed to get a xen 4.0 working on ubuntu 10.04= with pvops
>> > kernel and libvirt. However I am having some p= roblems with
>> > networking... after initial installation with= netinstall image in hvm
>> > mode, when I transform the vm in = xen pv (via pygrub with the current
>> > ubuntu kernel), networ= king startEd to act weird...
>> >
>> > Basically I'= m not using a network script from xen. I define a bridge
>> > (= manually or via libvirt, the result is the same) and I use vif-bridge
&g= t;> > to connect the vif to it. But now the weird part comes: I can>> > communicate from domU to dom0, but not the other way around= , unless I
>> > keep a ping running from domU to dom0... That's = right, weird... while
>> > trying the ping from dom0 to domU, I= used tcpdump both on the bridge,
>> > on the vif and on the et= h0 in the domU. The arp packets never get to
>> > domU, but the= y appear both in the bridge and the vif sniff's...
>>
>> = What version of kernel are you using in dom0 and domU? There was a
>= > netback bug which caused problems with dom0<->domU communication= , but it
>> has been fixed for a while in 2.6.32 (but only recentl= y in .31). The
>> workaround is to disable tx checksum offload on= your bridge (ethtool -K
>> <bridge> tx off).
>>>> J
>>
>> >
>> > Here is the b= ridge:
>> > ifconfig virbr0
>> > virbr0 Link enc= ap:Ethernet HWaddr fe:ff:ff:ff:ff:ff
>> > =20 inet addr:192.168.120.254 Bcast:192.168.120.255 Mask:255.255.255.0
&g= t;> > inet6 addr: fe80::7cee:4bff:fe82:e63f/64 Scope:Link>> > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:= 1
>> > RX packets:16 errors:0 dropped:0 overruns:0 fr= ame:0
>> > TX packets:226 errors:0 dropped:0 overruns= :0 carrier:0
>> > collisions:0 txqueuelen:0
>&= gt; > RX bytes:952 (952.0 B) TX bytes:13953 (13.9 KB)
>= > >
>> >
>> > brctl show
>> > bri= dge name=09bridge id=09=09STP enabled=09interfaces
>> > virbr0= =09=098000.feffffffffff=09no=09=09vif5.0
>> >
>> ><= br>>> > tcpdump -i virbr0 -vv -n
>> > tcpdump: listeni= ng on virbr0, link-type EN10MB (Ethernet), capture size 96 bytes
>>= ; > 01:31:25.945151 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], pro= to ICMP (1), length 84)
>> > 192.168.120.254 > 192.168.120.1: ICMP e= cho request, id 10317, seq 1, length 64
>> > 01:31:26.945361 IP= (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 84)>> > 192.168.120.254 > 192.168.120.1: ICMP echo request, = id 10317, seq 2, length 64
>> > 01:31:27.945420 IP (tos 0x0, tt= l 64, id 0, offset 0, flags [DF], proto ICMP (1), length 84)
>> &g= t; 192.168.120.254 > 192.168.120.1: ICMP echo request, id 10317, seq= 3, length 64
>> > 01:31:28.945362 IP (tos 0x0, ttl 64, id 0, o= ffset 0, flags [DF], proto ICMP (1), length 84)
>> > 192.16= 8.120.254 > 192.168.120.1: ICMP echo request, id 10317, seq 4, length 64=
>> > 01:31:29.945364 IP (tos 0x0, ttl 64, id 0, offset 0, flag= s [DF], proto ICMP (1), length 84)
>> > 192.168.120.254 >= ; 192.168.120.1: ICMP echo request, id 10317, seq 5, length 64
>> > 01:31:30.944300 ARP, Ethernet (len 6), IPv4 (len 4), R= equest who-has 192.168.120.1 tell 192.168.120.254, length 28
>> &g= t; 01:31:30.945359 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto I= CMP (1), length 84)
>> > 192.168.120.254 > 192.168.120.1= : ICMP echo request, id 10317, seq 6, length 64
>> > 01:31:31.9= 44297 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.120.1 te= ll 192.168.120.254, length 28
>> > 01:31:31.945444 IP (tos 0x0,= ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 84)
>>= > 192.168.120.254 > 192.168.120.1: ICMP echo request, id 10317, = seq 7, length 64
>> > 01:31:32.944294 ARP, Ethernet (len 6), IP= v4 (len 4), Request who-has 192.168.120.1 tell 192.168.120.254, length 28>> > 01:31:32.945401 IP (tos 0x0, ttl 64, id 0, offset 0, flags = [DF], proto ICMP (1), length 84)
>> > =20 192.168.120.254 > 192.168.120.1: ICMP echo request, id 10317, seq 8, le= ngth 64
>> > 01:31:33.947293 ARP, Ethernet (len 6), IPv4 (len 4= ), Request who-has 192.168.120.1 tell 192.168.120.254, length 28
>>= ; > 01:31:34.947373 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has= 192.168.120.1 tell 192.168.120.254, length 28
>> > 01:31:35.94= 7353 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.120.1 tel= l 192.168.120.254, length 28
>> > 01:31:37.948352 ARP, Ethernet= (len 6), IPv4 (len 4), Request who-has 192.168.120.1 tell 192.168.120.254,= length 28
>> > 01:31:38.948399 ARP, Ethernet (len 6), IPv4 (le= n 4), Request who-has 192.168.120.1 tell 192.168.120.254, length 28
>= > > 01:31:39.948376 ARP, Ethernet (len 6), IPv4 (len 4), Request who-= has 192.168.120.1 tell 192.168.120.254, length 28
>> > 01:31:40= .949356 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.120.1 tell 192.168.120.254, length 28
>> >
>>= >
>> > tcpdump -i vif5.0 -vv -n
>> > tcpdump: W= ARNING: vif5.0: no IPv4 address assigned
>> > tcpdump: listenin= g on vif5.0, link-type EN10MB (Ethernet), capture size 96 bytes
>>= > 01:32:19.956358 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has = 192.168.120.1 tell 192.168.120.254, length 28
>> > 01:32:20.956= 358 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.120.1 tell= 192.168.120.254, length 28
>> > 01:32:21.956359 ARP, Ethernet = (len 6), IPv4 (len 4), Request who-has 192.168.120.1 tell 192.168.120.254, = length 28
>> > 01:32:23.957311 ARP, Ethernet (len 6), IPv4 (len= 4), Request who-has 192.168.120.1 tell 192.168.120.254, length 28
>&= gt; > 01:32:24.957312 ARP, Ethernet (len 6), IPv4 (len 4), Request who-h= as 192.168.120.1 tell 192.168.120.254, length 28
>> > 01:32:25.957359 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.1= 68.120.1 tell 192.168.120.254, length 28
>> > 01:32:27.958360 A= RP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.120.1 tell 192.= 168.120.254, length 28
>> > 01:32:28.958310 ARP, Ethernet (len = 6), IPv4 (len 4), Request who-has 192.168.120.1 tell 192.168.120.254, lengt= h 28
>> > 01:32:29.958362 ARP, Ethernet (len 6), IPv4 (len 4), = Request who-has 192.168.120.1 tell 192.168.120.254, length 28
>> &= gt;
>> >
>> >
>> > Forwarding and ip= tables don't seem to be the problem, because if I
>> > initiate= a ping from domU (at the same time as the failing one from
>> >= ; dom0), the ping in dom0 starts to work. As soon as I stop the ping in
= >> > domU, the one in dom0 starts failing again...
>> >= ;
>> > Is anyone having the same problem? Is this a bug in the kernel? In
>> > dom0 or domU?
>> >
>&= gt; > Thanks in advance,
>> > Lu=EDs
>> >
>= ;> >
>> > _______________________________________________=
>> > Xen-devel mailing list
>> > Xen-devel@lists.xensource.com= <mailto:Xen-d= evel@lists.xensource.com>
>> > http://lists.xen= source.com/xen-devel
>> >
>>
>>
>= ;> _______________________________________________
>> Xen-devel= mailing list
>> Xen-devel@= lists.xensource.com <mailto:Xen-devel@lists.xensource.com>
>> http://lists.xensource.com/xen-devel
>>
>> >


=0A
=0A
=0A =0A

-----Inline = Attachment Follows-----

___________________= ____________________________
Xen-users mailing list
Xen-users@lists.xensource.com
http://lists.xensource.com/xen= -users

=0A=0A=0A=0A=0A=0A=0A=0A= --0-1376760140-1275506771=:28786-- --===============1899846662== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users --===============1899846662==--