Hello list,
It is most likely something wrong with my own code, but I was hoping I could
get some pointers in tracking down what that might be. I have a UPnP lister
program, that opens port 1900 for UDP, and adds itself to membership.
I have VLC UPnP client, and a Media device using Intel's UPnP stack to send out
queries.
My program, when compiled on OsX, and when compiled for media device itself in
Linux, will see the UDP multicast/broadcast packets from both VLC and the
commercial client.
When I compile my program on Solaris, everything runs well (as in, no errors)
but I do not see any broadcast discovery packets.
My multicast code consists of:
mreq.imr_multiaddr.s_addr=htonl(maddr);
mreq.imr_interface.s_addr=htonl(INADDR_ANY);
rc = setsockopt(node->socket,
IPPROTO_IP,IP_ADD_MEMBERSHIP,
(void *) &mreq, sizeof(mreq));
Where maddr comes from "239.255.255.250".
The interface is:
rge0: flags=1004843 UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4 mtu 1500 index 2
inet 192.168.11.26 netmask ffffff00 broadcast 192.168.11.255
ether 0:1c:c0:d0:d2:37
# snoop -r multicast or broadcast or port 1900
[ssdp] creating listener...
IP_ADD_MEMBERSHIP 0
192.168.11.26 -> 224.0.0.22 IGMP v3 membership report
Starting VLC I see (on my OsX dekstop):
en0: flags=8863 UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST mtu 1500
inet6 fe80::217:f2ff:fe07:8836%en0 prefixlen 64 scopeid 0x4
inet 192.168.11.10 netmask 0xffffff00 broadcast 192.168.11.255
ether 00:17:f2:07:88:36
16:41:02.743166 IP 192.168.11.26 > 224.0.0.22: igmp v3 report, 1 group record(s)
16:41:05.380487 IP 192.168.11.10.55688 > 239.255.255.250.1900: UDP, length 127
16:41:05.480596 IP 192.168.11.10.55688 > 239.255.255.250.1900: UDP, length 127
But snoop does not see these packets at all. I was under the impression that
snoop is fairly low-level so I should see the broadcasts even if I have not
joined the group correctly?
If I send a directed UDP packet all is ok:
# nc -u 192.168.11.26 1900
hello
[ssdp] >> 'hello'
192.168.11.10 -> 192.168.11.26 UDP D=1900 S=55732 LEN=14
So why not broadcast packets? I looked at ndd values, and tried
ip_strict_dst_multihoming ip_forward_directed_broadcasts but it made no
difference.
I also noticed that "netstat -nr" no longer lists a 224.0.0.0 route, is this
still required? I added one just in case, but no difference.
I also tried setting IP_MULTICAST_TTL to 255, but that made no difference. I
think that is for sending though.
There is no ipfilter running.
--
This message posted from opensolaris.org
_______________________________________________
networking-discuss mailing list
[email protected]