-
-
Notifications
You must be signed in to change notification settings - Fork 90
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Translation PIM Join/Prune to IGMP Report/Leave #174
Comments
I must say, compared to just about everything else here, this was a perfectly written feature request. Thank you! 😃 I understand what you want to achieve, and it also looks a lot like what I've been asked about over email by others as well. It shouldn't be too difficult to add support for it either. Unfortunately I've just entered release mode (about five years later than planned), so I won't be able to work on this for the upcoming v3.0, unless you're interested in pitching in yourself? From what I can see, we need:
For now I can only help out from the sidelines, cheering on, providing pointers and auditing code. Hope that's OK? |
Thank you for your interest in the feature! Yesterday, after your response, I have navigated a bit more over the code, to try to define a possible implementation for this, but I may confess that too many questions arose, so I kindly ask you to give me some directions on how to structure this new interaction. Regarding your points:
Seems OK, something like
Found on vif.h the following definition
This includes sending our reports/leaves upstream and answering to general queries, right ? Also, do we need two separate sockets, so we do not send reports/leaves back to PIM neighbors ?
Can you please guide me on what part of this method the code knows exacly "I am the RP of this group" ? Apart from this, I don't mind waiting for your next release, if you prefer to develop yourself and have things structured your way. Thanks! |
Hi again, sorry for the late reply! Been quite busy at $DAYJOB the last couple of weeks. Huh, had forgotten about Yes, sending IGMP reports upstream and answering general, or group-specific, queries. You're right about the socket, we should go with a separate socket for interfaces that have the Figuring out if I'm the RP is trickier. I'll have to dig in to the code a bit more for that, but one example of how to do it is in Line 737 in da6f4c3
|
Hi Joachim, hope your health is doing fine! Regarding this feature, I have been digging around through the code to try to understand things and start some writing.
What I am trying to achieve:
Ok, so this is where I am, and kindly ask for a bit of help from you. Regards, |
Hi,
Not really a problem or bug but more like a feature request.
I have a network topology where there are some routers that are not pim-aware, but can deliver multicast to the network if some client issue an IGMP report. The problem is, those routers do not talk PIM and I have no control over them, so it would be great if pimd could just send an IGMP report/leave upstream upon receipt of a PIM join/prune for specific groups that it is RP of.
Detailing a bit more, below is a drawing of my network topology (hopefully you can understand!) where:
What I want to achieve is have all the multicast groups available on every network segment, where a client issues an IGMP report for a group, it traverses through PIM domain and, reaching the RP to the specific group, it sends an IGMP report to the upstream non-pim-aware router, and forwards the traffic back to the client. This behavior could be enabled/disabled by config, for example.
A similar scenario is described in the following two documents by Cisco and Juniper:
I have explored a bit your code, and found that maybe the correct point to insert that logic is somewhere in pim_proto.c inside method
receive_pim_join_prune()
, but I can obviously be wrong.If you need more info, or want to discuss a bit more please feel free to ask.
Regards,
Tiago
The text was updated successfully, but these errors were encountered: