Firehose is a program for forwarding multicast traffic, converting multicast traffic to unicast, or unicast to multicast.
Its full operation involves running it on two different subnets, one to capture multicast traffic and forward it as unicast to another instance, which multicasts it to the destination network.
make
There's also a sample multicast sender program called sender:
make sender
The first is considered the forwarder (fwd), the second is considered the receiver (recv):
Usage:
./firehose [options] fwd 'mcaddr:port' 'src:port' 'unidst:port' ['mc_local_if_addr:ignored']
./firehose [options] recv 'recvaddr:port' 'multidest:port' 'srcaddr:port'
options:
-v --verbose Verbose output (log each packet)
The address parameters are generally in traffic order:
fwd addresses:
-
mcaddr:portthe address to subscribe to -
src:portthe source address to send unicast traffic from -
unidst:portthe unicast destination (receiver address) -
mc_local_if_addr:ignored(optional) address to bind for receiving multicast traffic (port value unused)
recv addresses:
-
recvaddr:portUnicast address to receive on (should matchfwd'sunidst:port) -
multidest:portMulticast group address to send to -
srcaddr:portAddress to send multicast traffic from