Thread (15 messages) 15 messages, 4 authors, 2014-02-04

Re: IGMP joins come from the wrong SA/interface

From: Steinar H. Gunderson <hidden>
Date: 2014-02-04 22:08:12

On Thu, Jan 30, 2014 at 11:44:11PM +0100, Hannes Frederic Sowa wrote:
The routing lookup is done at IP_ADD_MEMBERSHIP time. I really wonder why you
have routed the 239.0.0.0/8 range to eth0.11. It seems to me that the kernel
does what you told it to do. ;)

multicast flag on ip route is just used for multicast forwarding and does not
matter for local multicast. Also if we find unicast route first (more
specific) kernel does not do backtracking if destination is in multicast
scope.
Hah, you're right. The issue was a combination of:

 1. mediatomb's initscript on Debian at some point started to add a bogus
    239.0.0.0/8 route (and I didn't notice this because I earlier tested with
    addresses outside this range).
 2. I didn't properly understand that the multicast flag on the route did not
    matter (although it really should!).
 3. rp_filter ate the data packets when they actually arrived. (I don't know
    why I never had this problem before, but I certainly didn't.)

So in various debugging rounds, I managed to fix #1 and #2 to various
degrees, but then #3 would come and make it appear like nothing actually
happened. I didn't see this before tracking it all the way up to the upstream
routers and observing that they actually _did_ send out packets...

/* Steinar */
-- 
Homepage: http://www.sesse.net/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help