-
Task
-
Resolution: Done
-
Minor
-
None
-
None
On Mac OS (Mavericks), there is no multicast route in the routing table. So the default route is used (say 192.168.1.1). However, this doesn't work for nodes bound to 127.0.0.1 (don't know why).
So for loopback, an mcast route has to be added, e.g.
sudo route add -net 224.0.0.0/4 127.0.0.1
This adds a default route to all class D (multicast) addresses via loopback. However, this doesn't work if the node is bound to 192.168.1.x !
TODO:
- See if we can get a default multicast route through 192.168.1.1 and make nodes bound to 127.0.0.1 use it
- If this doesn't work, define multiple mcast routes for different mcast addresses, e.g.
sudo route add -net 224.0.0.0/4 127.0.0.1 sudo route add -net 230.0.0.0/8 192.168.1.0
This adds loopback as default mcast route, but uses en0 if a multicast address starts with 230.x.x.x.
UPDATE: the issue with the above commands is that the first command adds a multicast route for 224.x.x.x - 239.x.x.x using the first 4 bits as netmask. This overrides the second route.
SOLUTION: Use the first 8 bits as netmask: sudo route add -net 224.0.0.0/8 127.0.0.1. This creates a multicast route for 224.0.0.1 - 224.255.255.255, which doesn't overlap with the second route.
- relates to
-
JGRP-1765 TP: enable loopback by default and discard own multicasts
- Resolved