Bug 243232

Summary: Multicast traffic from DomU virt interface to Dom0 virt interface gets dumped
Product: Red Hat Enterprise Linux 5 Reporter: Kyle Gonzales <kgonzale>
Component: xenAssignee: Herbert Xu <herbert.xu>
Status: CLOSED INSUFFICIENT_DATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 5.0CC: clalance, degts, k.georgiou, sputhenp, xen-maint
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-10-22 15:03:03 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Kyle Gonzales 2007-06-08 04:06:55 UTC
Description of problem:

I have a private Xen bridge setup as shown:

bridge name     bridge id               STP enabled     interfaces
demobr0         8000.feffffffffff       no              vif7.0
                                                        vif5.0
                                                        vif3.0
                                                        vif0.1
xenbr0          8000.feffffffffff       no              vif0.0

I have the following interface setup for Dom0 on the bridge:

veth1     Link encap:Ethernet  HWaddr 00:16:3E:AB:CD:EF  
          inet addr:172.31.200.254  Bcast:255.255.255.0  Mask:255.255.255.0
          inet6 addr: fe80::216:3eff:feab:cdef/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:182284 errors:0 dropped:0 overruns:0 frame:0
          TX packets:40333 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:3025279403 (2.8 GiB)  TX bytes:4019142 (3.8 MiB)

vif0.1    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF  
          inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
          UP BROADCAST RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:41935 errors:0 dropped:0 overruns:0 frame:0
          TX packets:183890 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:4264210 (4.0 MiB)  TX bytes:3025525408 (2.8 GiB)

Multicast traffic coming from DomU's virt interfaces to the Dom0 virt interface
gets dropped.  This breaks fence_xvm/fence_xvmd, as this depends on multicast
traffic.

I have used a network test utility to send unicast and multicast traffic between
the DomU's and to Dom0, called nuttcp:

ftp://ftp.lcp.nrl.navy.mil/pub/nuttcp/

Using this tool, multicast traffic works from one DomU to another.  However,
multicast packets from DomU to Dom0 virt interface are dropped.

Version-Release number of selected component (if applicable):

kernel-xen-2.6.18-8.1.4.el5
xen-3.0.3-25.0.3.el5
xen-libs-3.0.3-25.0.3.el5

How reproducible:
100%

Steps to Reproduce:
Follow the steps above
  
Actual results:
Multicast traffic from DomU virt interfaces to Dom0 virt interface is dropped.

Expected results:
Multicast traffic from DomU virt interfaces to Dom0 virt interfaces is accepted
and passed to any applicable daemons.

Comment 1 Kyle Gonzales 2007-06-08 04:19:14 UTC
Have we integrated this patch into our Xen code base?

http://lists.xensource.com/archives/html/xen-devel/2006-05/msg00062.html

Might be the problem...

Comment 2 Daniel Berrangé 2007-06-08 11:35:22 UTC
Please provide complete dom0 networking config, not simply an edited highlight,
eg ifconfig -a. Also provide iptables -L -n -v  output

Comment 3 Kyle Gonzales 2007-06-08 13:24:43 UTC
As requested:

# iptables -L -n -v
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
        

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
        

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination 

# ifconfig -a
demobr0   Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF  
          inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:639 errors:0 dropped:0 overruns:0 frame:0
          TX packets:17 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:93676 (91.4 KiB)  TX bytes:4381 (4.2 KiB)

dummy0    Link encap:Ethernet  HWaddr 5E:9F:84:10:14:27  
          BROADCAST NOARP  MTU:1500  Metric:1
          RX packets:0 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:0 (0.0 b)  TX bytes:0 (0.0 b)

eth1      Link encap:Ethernet  HWaddr 00:15:58:86:78:3E  
          inet addr:10.15.69.58  Bcast:10.15.69.255  Mask:255.255.255.0
          inet6 addr: fe80::215:58ff:fe86:783e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3157 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1161 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1752322 (1.6 MiB)  TX bytes:191493 (187.0 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:2546 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2546 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:3627773 (3.4 MiB)  TX bytes:3627773 (3.4 MiB)

peth1     Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF  
          inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
          RX packets:3591 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1286 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1811966 (1.7 MiB)  TX bytes:219225 (214.0 KiB)
          Base address:0x2000 Memory:ee000000-ee020000 

sit0      Link encap:IPv6-in-IPv4  
          NOARP  MTU:1480  Metric:1
          RX packets:0 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:0 (0.0 b)  TX bytes:0 (0.0 b)

tun0      Link encap:UNSPEC  HWaddr
00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.11.14.220  P-t-P:10.11.14.220  Mask:255.255.255.0
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1412  Metric:1
          RX packets:1328 errors:0 dropped:0 overruns:0 frame:0
          TX packets:916 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:1397053 (1.3 MiB)  TX bytes:82869 (80.9 KiB)

veth1     Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
          inet addr:172.31.200.254  Bcast:172.31.200.255  Mask:255.255.255.0
          inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:655 errors:0 dropped:0 overruns:0 frame:0
          TX packets:27 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:106933 (104.4 KiB)  TX bytes:7618 (7.4 KiB)

veth2     Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 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:0 (0.0 b)  TX bytes:0 (0.0 b)

veth3     Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 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:0 (0.0 b)  TX bytes:0 (0.0 b)

vif0.0    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF  
          inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
          RX packets:1161 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3157 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:191493 (187.0 KiB)  TX bytes:1752322 (1.6 MiB)

vif0.1    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF  
          inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:27 errors:0 dropped:0 overruns:0 frame:0
          TX packets:655 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:7618 (7.4 KiB)  TX bytes:106933 (104.4 KiB)

vif0.2    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 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:0 (0.0 b)  TX bytes:0 (0.0 b)

vif0.3    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 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:0 (0.0 b)  TX bytes:0 (0.0 b)

vif1.0    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF  
          inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
          RX packets:1521 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1099 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:32 
          RX bytes:219062 (213.9 KiB)  TX bytes:175493 (171.3 KiB)

vif2.0    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF  
          inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
          RX packets:1131 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1472 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:32 
          RX bytes:162891 (159.0 KiB)  TX bytes:234600 (229.1 KiB)

xenbr0    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF  
          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
          RX packets:1691 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:150284 (146.7 KiB)  TX bytes:0 (0.0 b)

# brctl show
bridge name     bridge id               STP enabled     interfaces
demobr0         8000.feffffffffff       no              vif0.1
                                                        vif3.0
                                                        vif2.0
                                                        vif1.0
xenbr0          8000.feffffffffff       no              peth1
                                                        vif0.0

Comment 4 Kyle Gonzales 2007-06-11 19:30:35 UTC
As requested, I retested without the netloop module being loaded:

[root@predator ~]# lsmod | grep netloop
[root@predator ~]#
[root@predator ~]# ifconfig -a | grep veth
[root@predator ~]#

I then manually configured xenbr0 as both the bridge device and an
interface:

[root@predator ~]# brctl show
bridge name     bridge id               STP enabled     interfaces
xenbr0          8000.feffffffffff       no              vif3.0
                                                        vif2.0
                                                        vif1.0
[root@predator ~]# ifconfig xenbr0
xenbr0    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF  
          inet addr:172.31.200.254  Bcast:172.31.200.255
Mask:255.255.255.0
          inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1952054 errors:0 dropped:0 overruns:0 frame:0
          TX packets:136546 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:3809406254 (3.5 GiB)  TX bytes:10307818 (9.8 MiB)

I did not manually set the MULTICAST flag on xenbr0, the system did that
on its own.

I brought my three virtual machines, and I can log into them from my
laptop (Dom0) via xenbr0.  I then redid my nuttcp test.  I can send TCP
and UDP unicast traffic from a DomU to Dom0, but multicast traffic gets
dropped.  I also retested, and all traffic types work from one DomU to
another DomU.

That being said... xenbr0 has one of the "bogus" MAC addresses that you
said we were not to use.  Is this still going to be a problem with
multicast?

If I was then going to not use xenbr0 due to this bogus MAC address,
what do I do?  Do I give xenbr0 a real MAC address?

Comment 5 Herbert Xu 2007-07-06 13:00:34 UTC
It seems that this thread has gone off into the emails and therefore we've lost
track of it.  Here's a what we've talked about:

Please either use a proper eth0 + netloop (i.e., something that doesn't throw
packets away like dummy) or not use netloop at all.

For the latter please use the scripts from rawhide which no longer creates
netloop devices.

Thanks,

Comment 6 Chris Lalancette 2009-07-29 12:42:54 UTC
Yikes, this one has been in needinfo for 2 years.  Kyle, is this still a problem, or can we close this out?  Or should we document something here?

Chris Lalancette

Comment 7 Chris Lalancette 2009-10-22 15:03:03 UTC
No response from reporter for a long time, so closing this out.  Feel free to reopen if you hit this problem again.

Chris Lalancette

Comment 8 Paolo Bonzini 2010-04-08 15:49:03 UTC
This bug was closed during 5.5 development and it's being removed from the internal tracking bugs (which are now for 5.6).