VMware Cloud Community
Joffer
Enthusiast
Enthusiast

Multicast send problem on guest with multiple network interfaces

I've got three vmguest running CentOS 6 x64. Two of the guests are backend servers with one nic connected to the internal segment. The last one is a frontend server (apache) with two nics, eth0 with public ip and default gw, and eth1 with an internal IP on the same segment as my backend servers.

I've added static route on the frontend to /etc/sysconfig/network-scripts/route-eth1 since our network core doesn't support routing of multicast (which is the reason for two nics):

224.0.0.0/4 via 172.16.140.1 dev eth1

Route looks fine on frontend (public ip replaced by 1.1.1.x):

[root@q1impfront01 ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
1.1.1.0 * 255.255.255.0 U 0 0 0 eth0
172.16.140.0 * 255.255.255.0 U 0 0 0 eth1
link-local * 255.255.0.0 U 1002 0 0 eth0
link-local * 255.255.0.0 U 1003 0 0 eth1
224.0.0.0 172.16.140.1 240.0.0.0 UG 0 0 0 eth1
default 1.1.1.1 0.0.0.0 UG 0 0 0 eth0

I'm testing multicast by using the test function in JBoss AS7.1.1 jgroups java jar:

Send:
java -cp jgroups-3.0.6.Final.jar org.jgroups.tests.McastSenderTest -mcast_addr 224.0.1.105 -port 30000


Receive:

java -cp jgroups-3.0.6.Final.jar org.jgroups.tests.McastReceiverTest -mcast_addr 224.0.1.105 -port 30000

Sending multicast msgs from my backend servers arrives on the frontend:

[root@backend01]# $JAVA_HOME/bin/java -cp jgroups-3.0.6.Final.jar org.jgroups.tests.McastSenderTest -mcast_addr 224.0.1.105 -port 30000
Socket #1=0.0.0.0/0.0.0.0:30000, ttl=32, bind interface=/172.16.140.156
Socket #2=0.0.0.0/0.0.0.0:30000, ttl=32, bind interface=/127.0.0.1
> Test from backend

[root@frontend]# java -cp jgroups-3.0.6.Final.jar org.jgroups.tests.McastReceiverTest -mcast_addr 224.0.1.105 -port 30000
Socket=0.0.0.0/0.0.0.0:30000, bind interface=/172.16.140.160
Socket=0.0.0.0/0.0.0.0:30000, bind interface=/1.1.1.2 (I removed the real IP here)
Socket=0.0.0.0/0.0.0.0:30000, bind interface=/127.0.0.1
Test from backend [sender=172.16.140.156:30000]
Test from backend [sender=172.16.140.156:30000]
Test from backend [sender=172.16.140.156:30000]

So receiving works fine. But when I turn it around I never receive the multicast on the backend from the frontend.

Anyone know why?

Environment:

- vCenter 5u1

- ESXi 4u1 (4.1.0 348481)

- Standard Edition licenses

0 Kudos
0 Replies