troglobit / pimd

PIM-SM/SSM multicast routing for UNIX and Linux
http://troglobit.com/projects/pimd/
BSD 3-Clause "New" or "Revised" License
197 stars 87 forks source link

PIMD: Disable rp-candidate and bsr-candidate features at startup #73

Closed kcao3 closed 8 years ago

kcao3 commented 8 years ago

Hi @troglobit,

I am currently running PIMD (version 2.3.0) on a linux host. If I am not mistaken, I believe in this version release of pimd, both of the rp-candidate and bsr-candidate features are enabled by default. Here are the default setting for these features in my pimd.conf:

# Bigger value means  "higher" priority
bsr-candidate priority 5

# Smaller value means "higher" priority
rp-candidate time 30 priority 20

For release 2.3.0, could you please let me know a proper way to disable these two features? Is disabling these two features equivalent to setting them to the lowest priority as possible in the pimd.conf file? In order words, could I update these two settings in my pimd.conf as the following:

# Bigger value means  "higher" priority
bsr-candidate priority 0

# Smaller value means "higher" priority
rp-candidate time 30 priority 255

Thank very much you in advance for your time and support!

troglobit commented 8 years ago

That is correct, these two settings are required in pimd.conf, and thus to "disable" them you need to tell pimd to always advertise the lowest priority. So your suggestion is correct:

# Lowest possible BSR candidate priority
bsr-candidate priority 0

# "Lowest" possible RP candidate priority
rp-candidate time 30 priority 255

It's a bit weird that the settings are not using the same priority scheme, but this is a historical artefact that one just have to accept as-is. See the RFC's or the below Cisco link for more on this. http://www.cisco.com/c/en/us/td/docs/ios/12_2/ipmulti/command/reference/fiprmc_r/1rfmult2.html

kcao3 commented 8 years ago

@troglobit Thanks again for your confirmation!

troglobit commented 8 years ago

No problem.

kcao3 commented 8 years ago

@troglobit First of all, I am sorry to bring up this topic again although this issue was marked closed. So I really need to configure my pimd (version 2.3.0) NOT to act as an RP and BSR candidate since it causes some problem on the physical network. So I attempted to disable these two features by having these settings in my /etcpimd.conf:

Lowest possible BSR candidate priority

bsr-candidate priority 0

"Lowest" possible RP candidate priority

rp-candidate time 30 priority 255

However, when my pimd is running, I see the following logging messages:

13:2238.501: New RP candidate 192.168.97.5 for group 224.0.0.0/4, priority 255 Candidate Rendezvous-Point Set =================================== RP address Incoming Group Prefix Priority Holdtime 192.168.97.5 15 224/4 255 75

Current BSR address: 192.168.97.5

From this logging below, If I am not mistaken, it seems to me that pimd is still trying configure the Rendezvous point (although with the lowest priority). Is there a way to COMPLETELY DISABLE these two features in pimd (with version 2.3.0)?

By the way, I also attempted to DISABLE these features by removing their corresponding settings from my /etcpimd.conf (or by removing the /etcpimd.conf file completely while starting my pimd). However, it seems to me these two settings are REQUIRED and MUST be present in the configuration file - i.e. without the present of these two settings in the /etcpimd.conf file (or the present of the entire etcpimd.conf file), I see the following logging messages when starting pimd:

Candidate Rendezvous-Point Set =============================================== RP address Incoming Group Prefix Priority Holdtime



Current BSR address: 0.0.0.0

and this PREVENTS pimd from routing multicast traffic - i.e. my mcast clients does NOT receive any traffic. I think my problem in this case is similar to the problem described in issue #66.

Anyway, I really appreciate if you could let me know the PROPER way to configure pimd in version 2.3.0 NOT to act as an RP and BSR.

Thank you very much for your time and support! Sincerely.

troglobit commented 8 years ago

I'm sorry, but I don't know of any other way. As far as I know it is part of the protocol that the routers elect the best BSR and RPs.

I'm currently working on #66 to make it possible to run pimd without a config file, but that will not help what you (so desperately) seem to be looking for.

idismmxiv commented 8 years ago

Hi. After reading this issue, I am bit unsure what was the target?

I would say that it is possible just to remove those rp-candidate and bsr-candidate entries out from pimd.conf file to completely disable given PIMD instance to act as RP or BSR. But of course you must have at least one PIMD instance in your network who acts as RP and BSR, othervice PIM-SM can not work.

If one wouldn't like to use RP and BSR anywhere, then she must use PIM-SSM that is also supported in pimd 2.3.0.

kcao3 commented 8 years ago

@idismmxiv First of all, thank you for your comments. My current problem is that I have other physical PIM routers connecting to my physical network that act as the "REAL" RPs and BSRs and I DO NOT want my PIMD instance to advertise itself as a RP or BSR candidate since it could potentially inadvertently be elected as the best RP/BSR candidate and therefore cause PROBLEM on the physical network. By the way, I am using PIMD to route multicast traffic from my physical network to other isolated networks at which multicast are not currently supported. As I mentioned in my previous post, there is currently NO WAY to trully disable this feature. Removing the rp-candidate and bsr-candidate entries from pimd.conf will STOP the given PIMD instance from routing the multicast traffic to my isolated networks.

idismmxiv commented 8 years ago

I am using pimd without rp-candidate and bsr-candidate parameters and it works fine. Obviously you have to have PIM neighbor from whom you can hear bootstrap message of current BSR. PIM neighbors you can see from "Virtual Interface Table" where you see Neighbors column. If you can see one of your physical network PIM routers as neighbor to pimd, you should get bootstrap message from there as well.

troglobit commented 8 years ago

I've just update the documentation, and the included default config, with the latest information from this thread. It is now part of the v2.3.2 release, which btw is out now.

Thank you for the info, @idismmxiv :+1: