Multicast Proxy for OpenBSD
This is a new daemon for OpenBSD that fills in a gap in the multicast
protocol support for network edges. More specifically we’re talking
about a multicast proxy.
The mcast-proxy is a less featured multicast routing daemon that is
mostly used on equipments that face client networks (end users). It is
mainly used when you don’t need a full multicast routing daemon (like
dvmrpd(8),
mrouted(8) or pim),
but you want to use your networks resources efficiently.
This implementation has the following features:
The development of this daemon brought improvements to the IPv6
multicast stack, like:
To run multicast routing protocols in your machines you have to configure
the following settings:
Allow multicast routing:
rcctl enable multicast
Allow IGMP packets (IPv4 only):
To allow IP options you have to configure your PF traffic pass rule to
accept IP options. Example: change ‘pass’ to ‘pass allow-opts’.
Add a multicast route (if the default doesn’t exist or is not correct)
route add 224/8 192.168.0.1
route add ff00::/8 fe80:
baff
2001%vio1
In case you are using the default route for multicast you might need
to specify an alternate multicast source. By default mcast-proxy only
accepts multicast traffic from the same network of your interface.
For example em0 has IPv6 address: 2001:100,
but the multicast traffic comes from 2001:10. The same applies for IPv4.
The mcast-proxy.conf
:
interface em0 {
source 2001
:/64
upstream
}
The daemon code is split in the following file hierarchy: