All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vlad Yasevich <vladislav.yasevich@hp.com>
To: netdev <netdev@vger.kernel.org>
Cc: Brian Haley <brian.haley@hp.com>, David Stevens <dlstevens@us.ibm.com>
Subject: Re: multicast: bug or "feature"
Date: Thu, 18 Oct 2007 12:17:12 -0400	[thread overview]
Message-ID: <47178708.2040606@hp.com> (raw)
In-Reply-To: <4716694D.6030508@hp.com>

Vlad Yasevich wrote:
> We've been trying to field some questions regarding multicast
> behavior and one such behavior has stumped us.
> 
> I've reproduced the following behavior on 2.6.23.
> 
> The application opens 2 sockets.  One socket is the receiver
> and it simply binds to 0.0.0.0:2000 and joins a multicast group
> on interface eth0 (for the test we used 224.0.1.3).  The other
> socket is the sender.  It turns off MULTICAST_LOOP, sets MULTICAST_IF
> to eth1, and sends a packet to the group that the first socket
> joined.
> 
> We are expecting to receive the data on the receiver socket, but
> nothing comes back.
> 
> Running tcpdump on both interfaces during the test, I see the packet
> on both interfaces, ie. I see it sent on eth0 and received on eth1 with
> IP statistics going up appropriately.
> 
> Looking at the group memberships, I see the receiving interface as
> part of the group and IGMP messages were on the wire.
> 
> So, before I try to spend time figuring out where the packet went is
> why, I'd like to know if this is a Linux "feature".
> 

Ok, so I've traced the failure down to fib_validate_source().

Because the packet we received was sourced from one of our own
addresses, we end up finding a RTN_LOCAL route and fail out
of that function with -EINVAL.

I can see the reason for this behavior and I think dropping
in this case is fine.

Now, to figure out what IPv6 does different and why it works.
Seems to me that the two should have the same behavior.

-vlad

  parent reply	other threads:[~2007-10-18 16:17 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-17 19:58 multicast: bug or "feature" Vlad Yasevich
2007-10-17 20:10 ` David Stevens
2007-10-17 20:23   ` Vlad Yasevich
2007-10-17 20:29     ` David Stevens
2007-10-17 21:25       ` Vlad Yasevich
2007-10-17 23:11         ` David Stevens
2007-10-18  1:20           ` Vlad Yasevich
     [not found] ` <47166BD5.7090207@hp.com>
2007-10-17 20:19   ` Vlad Yasevich
2007-10-18 16:17 ` Vlad Yasevich [this message]
2007-10-19 11:43   ` Herbert Xu
2007-10-19 15:21     ` David Stevens
2007-10-19 16:49       ` Vlad Yasevich
2007-10-19 17:43         ` David Stevens
2007-10-19 18:43           ` Vlad Yasevich
2007-10-19 20:23             ` David Stevens
2007-10-19 20:39               ` Brian Haley
2007-10-19 21:25                 ` David Stevens

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=47178708.2040606@hp.com \
    --to=vladislav.yasevich@hp.com \
    --cc=brian.haley@hp.com \
    --cc=dlstevens@us.ibm.com \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.