| 
         
xen-users
[Xen-users] Xen's xenbr0 interface eating packets between domUs?
 
Hello all.
  Having a little issue with a Xen setup I'm running. my domU's don't seem to be able to contact one another...
 
  Can anyone shed some light on where my packets are going? They vanish between the domU sending the response and the xenbr0 on the dom0.
  Here's some details - IP addresses obfuscated with 11.22.33 for safety.
  forest = dom0 squirrel = gameserver domU tree = openvpn domU rock = webserver domU (not mentioned here except for 'it has the same problem')
 here's some dom0 ip configuration:
  [root@forest ~]# ifconfig eth0      Link encap:Ethernet  HWaddr 00:02:B3:E9:A7:EB           inet addr:11.22.33.161  Bcast: 
11.22.33.255  Mask:255.255.255.0           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1           RX packets:172153 errors:0 dropped:0 overruns:0 frame:0           TX packets:28522 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:0           RX bytes:15218006 (14.5 MiB)  TX bytes:11912815 (11.3 MiB)
  lo        Link encap:Local Loopback           inet addr:127.0.0.1  Mask:
255.0.0.0           UP LOOPBACK RUNNING  MTU:16436  Metric:1           RX packets:139 errors:0 dropped:0 overruns:0 frame:0           TX packets:139 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:0           RX bytes:512496 (500.4 KiB)  TX bytes:512496 (500.4 KiB)
  peth0     Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF           UP BROADCAST RUNNING NOARP MULTICAST  MTU:1500  Metric:1
           RX packets:17906458 errors:0 dropped:0 overruns:0 frame:0           TX packets:17406759 errors:0 dropped:0 overruns:0 carrier:0           collisions:0 txqueuelen:1000           RX bytes:3001638846 (
2.7 GiB)  TX bytes:629520683 (600.3 MiB)
  vif0.0    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1           RX packets:28522 errors:0 dropped:0 overruns:0 frame:0
           TX packets:172154 errors:0 dropped:0 overruns:0 carrier:0           collisions:0 txqueuelen:0           RX bytes:11912815 (11.3 MiB)  TX bytes:15218084 (14.5 MiB)
  vif9.0    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1           RX packets:12558483 errors:0 dropped:0 overruns:0 frame:0           TX packets:13041996 errors:0 dropped:188 overruns:0 carrier:0           collisions:0 txqueuelen:0
           RX bytes:65048010 (62.0 MiB)  TX bytes:138801861 (132.3 MiB)
  vif15.0   Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1           RX packets:1357 errors:0 dropped:0 overruns:0 frame:0
           TX packets:110982 errors:0 dropped:47 overruns:0 carrier:0           collisions:0 txqueuelen:0           RX bytes:752723 (735.0 KiB)  TX bytes:10116656 (9.6 MiB)
  vif17.0   Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1           RX packets:3762543 errors:0 dropped:0 overruns:0 frame:0           TX packets:3559047 errors:0 dropped:2167 overruns:0 carrier:0           collisions:0 txqueuelen:0
           RX bytes:477432410 (455.3 MiB)  TX bytes:1187204888 (1.1 GiB)
  xenbr0    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1           RX packets:392477 errors:0 dropped:0 overruns:0 frame:0
           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0           collisions:0 txqueuelen:0           RX bytes:144771106 (138.0 MiB)  TX bytes:0 (0.0 b)
  I'm trying to send udp packets to the gameserver (squirrel) from a machine behind the VPN machine (tree). The forward route (me to gameserver) seems to be fine - but the return trip? Not so good.
  11.22.33.163 is me, 11.22.33.138 is the gameserver (squirrel). Here's what I get from tcpdump's on each machine:
  First of all, here's the gameserver.
  [root@squirrel ~]# tcpdump -i eth0 src 11.22.33.163 or dst 11.22.33.163 -n tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
 listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 16:23:24.275874 IP 11.22.33.163.3724 > 11.22.33.138.27015: UDP, length 25 16:23:24.276129 IP 11.22.33.138.27015 > 11.22.33.163.3724 : UDP, length 109
 16:23:31.825710 IP 11.22.33.163.3732 > 11.22.33.138.27015: UDP, length 25 16:23:31.835973 IP 11.22.33.138.27015 > 11.22.33.163.3732: UDP, length 109 16:23:31.839778 IP 11.22.33.163.3733 > 11.22.33.138.27015
: UDP, length 25 16:23:31.850976 IP 11.22.33.138.27015 > 11.22.33.163.3733: UDP, length 109 16:23:36.835129 arp who-has 11.22.33.163 tell 11.22.33.138
 16:23:36.835800 arp reply 11.22.33.163 is-at 00:16:3e:1d:28:ee
  8 packets captured 8 packets received by filter 0 packets dropped by kernel [root@squirrel ~]#
  
As you can see, the server responded correctly to all three requests.
  Here is the Xen dom0 (forest), sniffing at the bridge:
  [root@forest ~]# tcpdump -i xenbr0 src 11.22.33.163
 or dst 195.178.107.163 -n tcpdump: WARNING: xenbr0: no IPv4 address assigned tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on xenbr0, link-type EN10MB (Ethernet), capture size 96 bytes
 21:23:24.449795 IP 11.22.33.163.3724 > 11.22.33.138.27015: UDP, length 25 21:23:32.001248 IP 11.22.33.163.3732 > 11.22.33.138.27015: UDP, length 25 21:23:32.015363 IP 11.22.33.163.3733 > 11.22.33.138.27015
: UDP, length 25 21:23:37.012320 arp reply 11.22.33.163 is-at 00:16:3e:1d:28:ee
  28 packets captured 35 packets received by filter 0 packets dropped by kernel [root@forest
 ~]#
  Now this is interesting. The replies aren't making it onto the xenbr0 interface! the who-has arp request got gobbled by the filter but it'll be there.
  Here is the VPN domU (tree), sniffing at its eth0.
  [root@tree ~]# tcpdump -i eth0 src 11.22.33.138 or src 195.178.107.163 -n tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
 listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 21:23:24.403375 IP 11.22.33.138.27015 > 11.22.33.163.3724: UDP, length 109 21:23:31.964292 IP 11.22.33.138.27015 > 11.22.33.163.3732 : UDP, length 109
 21:23:31.979393 IP 11.22.33.138.27015 > 11.22.33.163.3733: UDP, length 109 21:23:36.943329 arp reply 11.22.33.138 is-at 00:16:3e:39:84:0f 21:23:36.964097 arp who-has 
11.22.33.163 tell 11.22.33.138
  5 packets captured 27 packets received by filter 0 packets dropped by kernel [root@tree ~]#
  And predictably, the replies don't make it to the VPN domU (tree).
  The only rules in the dom0 which could possibly stop packets systematically are: [root@forest ~]# iptables -L Chain INPUT (policy ACCEPT) target     prot opt source               destination
  Chain FORWARD (policy ACCEPT)
 target     prot opt source               destination ACCEPT     all  --  anywhere             anywhere            PHYSDEV match --physdev-in vif9.0 ACCEPT     all  --  anywhere             anywhere            PHYSDEV match --physdev-in 
vif15.0 ACCEPT     all  --  anywhere             anywhere            PHYSDEV match --physdev-in vif17.0
  Chain OUTPUT (policy ACCEPT) target     prot opt source               destination [root@forest ~]# 
  People out on the internet can connect to my server no problem, and I can access the internet fine, too... but accessing this machine within the Xen bridge doesn't seem to work.
  Some Xen configs:
  
Tree:
  kernel = "/boot/vmlinuz-2.6.16-xen0-100hz" memory = 64 name = "tree" vif = [ '' ] ip = "11.22.33.139" gateway = "
11.22.33.1" netmask = "255.255.255.0" disk = ['phy:/dev/vg01/vol01,sda1,w','phy:/dev/vg01/vol02,sda2,w'] root = "/dev/sda1 ro"
  
kernel = "/boot/vmlinuz-2.6.16-xen0-1000hz" memory = 128 name = "squirrel" vif = [ '' ] ip = "11.22.33.138" gateway = "
11.22.33.1" netmask = "255.255.255.0" disk = ['phy:/dev/vg01/vol03,sda1,w','phy:/dev/vg01/vol04,sda2,w'] root = "/dev/sda1 ro"
  
I also have another domU called 'rock', mentioned earlier, that doesn't respond directly from inside the bridge; yet responds fine when the request comes from outside the Xen bridge (ie, from the internet). 
 Can anyone shed some light on where my packets are going?
 
 
 
 
 
 
 
  
_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users 
 |   
 
| <Prev in Thread] | 
Current Thread | 
[Next in Thread> |  
- [Xen-users] Xen's xenbr0 interface eating packets between domUs?,
Jan Mulders <=
  
 |  
  
 | 
    |