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/