Comments (3)
Original pointer seems dead. Here is a new one:
http://www.textndata.com/forums/mrouted-igmp-linux-102561.html
from mrouted.
I've been having the exact same problem on my Gentoo (2.6.34-gentoo-r12) gateway box.
My network looks as follows:
hostA -> LinuxGW -> "public" network -> FreeBSDGW -> hostB
Both GWs have an instance of mrouted running.
If I broadcast from hostA and listen on hostB, then hostB gets the broadcast. However if I broadcast from hostB, listening on hostA, then I see that the traffic only gets as far as the public interface of the LinuxGW. The Linux kernel refuses to forward the traffic. I compiled my kernel with multicast, multicast routing and the advanced router. I also disabled the firewall. IP forwarding and multicast forwarding are enabled on all the interfaces in question.
Running mrouted in debug mode, I see that the IGMPv2 join messages arrive. Also by dumping mrouted's routing table, I see that the group is correctly added on the private interface. However, the cache table always remains empty. Checking the kernel's cache via ip mroute or /proc/net/ip_mr_cache, I can verify that it is also empty.
I've also tried a number of static routes to try and convince the kernel to forward the traffic, but to no avail.
Lastly, I've tried mrouted 3.9beta3, 3.9.2 and 3.9.4.
If anyone has any ideas on how to solve this one, they would be much appreciated.
from mrouted.
Latest pointer to the original post now seems to be https://www.network-builders.com/threads/mrouted-and-igmp-on-linux.48959/
However, I cannot replicate any issues with this. My guess is that this was either fixed after 3.9.4, or that my IP-in-IP tunnel¹ setup is what solves the issue. Its use wasn't mentioned in either the forum post or here by @sbrobson so maybe it was a simple case of an oversight.
My test setup uses three routers in one line, the middle one is used to simulate the Internet or an intranet. The outermost routers have two hosts, one on each side, one sender and one receiver:
H1 -----> R1 ------> R2 ------> R3 -----> H2
Only R1 and R3 run mrouted. All routers do however run OSPF, but that's just to get unicast working so I can verify the topology with ping. With DVMRP we have a sort-of stripped down RIP included, so mrouted is stand-alone in that regard (compared to PIM which requires an underlying unicast routing protocol first).
Nothing in the above setup works until I add a tunnel config to mroute.conf on R1 and R3, sort of like this:
R1: mrouted.conf
tunnel 10.0.0.1 10.0.2.1 metric 1 threshold 1 rate_limit 0
R2: mrouted.conf
tunnel 10.0.2.1 10.0.0.1 metric 1 threshold 1 rate_limit 0
The tunnel gets its own VIF in mrouted and routes are established as soon as H2 sends an IGMP join for the given multicasdt group I transmit as plain UDP from H1.
Sure, I have no firewall in place, this is plain routing, but I'm pretty confident the issue here was the lack of the IP-in-IP tunnel, which is documented in the man page.
(closing issue)
¹ built-in feature if enabled with tunnel directive in mrouted.conf
from mrouted.
Related Issues (20)
- mrouted 4.0 reports "warning - Cannot disable multicast routing in kernel: Permission denied" when starting HOT 3
- no phyint config option does not work HOT 3
- Generation ID stored in /var/lib should be in /var/lib/misc (FHS)
- Cannot join group 224.0.0.x: No buffer space available HOT 1
- Allow using loopback interface for routing HOT 1
- mrouted 4.0 reports "Too many files on filesystem" HOT 19
- mrouted receives igmp join but doesn't route HOT 10
- unexpect group drop issue on linux bridge interface with multicast snooping HOT 13
- IGMPv3 group record states not handled properly
- Add support for tuning Last Member Query Interval
- IGMP group-specifc query broken in v4.0 HOT 1
- phyint flag igmpv3 not accepted by parser
- Segmentation fault when running with debug all in foureground and closing another mrouted instance HOT 6
- Add support for multicast routing tables on Linux HOT 1
- won't start as soon as I add a tunnel config? HOT 33
- Add support for joining groups on source network HOT 18
- "Required key not available" on Arch Linux HOT 4
- mrouted segfault after several hours HOT 3
- Privilege separation for OpenBSD HOT 10
- Debian 12: 20:06:55.221 Another multicast routing application is already running HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mrouted.