How is static multicast routing done in practice ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I have an application[1] that does sends and recieve over multicast
udp.  Its setup looks like that (note, no IP_MULTICAST_IF call):

4920  socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
4920  fcntl64(3, F_GETFL)               = 0x2 (flags O_RDWR)
4920  fcntl64(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0
4920  setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
4920  bind(3, {sa_family=AF_INET, sin_port=htons(8649), sin_addr=inet_addr("239.2.11.71")}, 16) = 0
4920  ioctl(3, SIOCGIFADDR, 0xbfcc0bd0) = 0
4920  setsockopt(3, SOL_IP, IP_ADD_MEMBERSHIP, "\357\2\vG\300\250Wd", 8) = 0

4920  socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 4
4920  fcntl64(4, F_GETFL)               = 0x2 (flags O_RDWR)
4920  fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0
4920  setsockopt(4, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
4920  bind(4, {sa_family=AF_INET, sin_port=htons(8649), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
4920  listen(4, 5)                      = 0

4920  socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 5
4920  connect(5, {sa_family=AF_INET, sin_port=htons(8649), sin_addr=inet_addr("239.2.11.71")}, 16) = 0
4920  getsockname(5, {sa_family=AF_INET, sin_port=htons(32775), sin_addr=inet_addr("192.168.87.100")}, [16]) = 0
4920  setsockopt(5, SOL_IP, IP_MULTICAST_TTL, "\1", 1) = 0

The box has two ethernet interfaces, eth0 and eth1.  The routes are:

239.2.11.71 dev eth1  scope link 
192.168.87.0/24 dev eth1  proto kernel  scope link  src 192.168.87.100 
192.44.78.0/24 dev eth0  scope link 
169.254.0.0/16 dev eth1  scope link 
224.0.0.0/4 dev eth1 

And the adresses:
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:09:6b:00:dc:8a brd ff:ff:ff:ff:ff:ff
    inet 192.168.87.100/24 brd 192.168.87.255 scope global eth0
    inet6 fe80::209:6bff:fe00:dc8a/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:09:6b:00:dc:8b brd ff:ff:ff:ff:ff:ff
    inet 192.168.87.100/24 scope global eth1
    inet6 fe80::209:6bff:fe00:dc8b/64 scope link 
       valid_lft forever preferred_lft forever
4: sit0: <NOARP> mtu 1480 qdisc noop 
    link/sit 0.0.0.0 brd 0.0.0.0

Yes, same ip on both interfaces, we want it that way.

No mrouted anywhere as far as I know.

Problem is: the multicast udp packets are sent over eth0, not eth1.

How can I debug/fix that?

  OG.

[1] Ganglia daemon
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux