Uploaded image for project: 'JGroups'
  1. JGroups
  2. JGRP-1808

Mac OS: no multicast route for 127.0.0.1

    Details

    • Type: Task
    • Status: Resolved (View Workflow)
    • Priority: Minor
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 3.5
    • Labels:
      None

      Description

      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.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  belaban Bela Ban
                  Reporter:
                  belaban Bela Ban
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  4 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: