Closed tmo-github closed 6 years ago
You need to enable multicast forwarding in the kernel, it is disabled by default.
I wrote a howto on this a few years back. It differs a bit between the BSD's, and maybe the OpenBSD people have changed it since last I tried.
I guess I had that part correctly set before to try to run pimd:
In /etc/sysctl.conf , I have: net.inet.ip.forwarding=1 net.inet.ip.mforwarding=1
And in /etc/rc.conf.local, I have: multicast=YES (this single line seems to replace the 2 lines present in earlier versions of OpenBSD you mention in your HOWTO)
The full error from /var/log/messages: Cannot set PIM flag in kernel: Protocol not available
Seems your kernel doesn't have multicast support compiled in then? My knowledge of the BSD's is quite limited I'm afraid, but it surely looks like the PIM/MROUTED/MROUTING support is missing from your kernel.
On FreeBSD I had to change the boot loader to load the correct module, http://troglobit.com/howto-run-pimd-on-freebsd.html
Sorry I cannot help you more than this.
Thanks for your quick feedback.
You were right. I got confused by the fact that MROUTING is enabled by default in OpenBSD, thought this was it, and failed to see that there is another kernel option specifically for 'PIM' which is disabled by default. (See http://man.openbsd.org/OpenBSD-6.0/pim.4#SYNOPSIS )
I have now recompiled the kernel with 'OPTION PIM' and it works fine afterwards.
Great to hear you got it working!
Admittedly, this should be documented somewhere, possibly in the doc/FAQ.md file. How about contributing a new entry to help others?
I have made a pull request for doc/INSTALL.md. Feel free to edit or relocate the information. My thought was that this is the first file people usually look at, and they will probably find the information more easily here than in the FAQ. As a sidenote, I have on that occasion just discovered that the OpenBSD project has removed support for PIM in the multicast stack starting with version 6.1 (info included in my pull request)
Thank you so much for taking the time to dive into this and documenting it!
I am trying to run pimd on an OpenBSD 6.0 server (i386 platform).
I could build pimd, but when I am trying to launch it, it exists on an error: