[Xorp-users] Multicast problem

Ben Greear greearb at candelatech.com
Wed Aug 20 14:33:52 PDT 2008


After more digging, I think I *might* know the problem.

While stracing the fea, I see this call:

sendmsg(69, {msg_name(16)={sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("10.1.1.1")},
  msg_iov(1)=[{"E\0\0048\0\0\0\0 at g\0\0\n\1\2\2\n\1\1\1!\0\336\377\0\0\0\0E\0\4\34"..., 1080}],
  msg_controllen=0,
  msg_flags=MSG_OOB|MSG_DONTROUTE|MSG_PEEK|MSG_CTRUNC|MSG_PROXY|MSG_EOR|MSG_WAITALL|MSG_TRUNC|MSG_ERRQUEUE|MSG_DONTWAIT|MSG_CONFIRM|MSG_FIN|MSG_SYN|MSG_RST|MSG_NOSIGNAL|MSG_MORE|0xffff0000}, 0) = 1080

This appears to be the PIM register message.

The interesting thing to me is that msg_flags has a huge number of flags
set.

I can't find anywhere that these flags are cleared in the io_ip_socket.cc,
but it would seem to me that they should probably be cleared at the first
part of the IoIpSocket::send_packet method.

In particular, the MSG_DONTWAIT flag is probably causing my particular
problem.

I'm going to experiment with clearing msg_flags, but please let me know
if that is being ignored for a reason.

Thanks,
Ben


-- 
Ben Greear <greearb at candelatech.com>
Candela Technologies Inc  http://www.candelatech.com



More information about the Xorp-users mailing list