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

Look at IP multicasting and IPv6

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Won't Do
    • Icon: Minor Minor
    • 2.7
    • None
    • None

      [Carlo DeWolf's email]

      Bug 1:

      Aha, in IPv6 mode the incorrect interface is chosen to send out packets.
      http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4742177

      So to actually get the right sender into the packet you must bind to the
      address.

      MultiSocket senderSocket = new MultiSocket(new
      InetSocketAddress(sendFrom, 0));

      Loopback must always be false. I'm not sure why, but if falls apart if
      you set it to true. (Might be because of the above.)
      senderSocket.setLoopback(false);

      The receiving socket must be bound to INADDR_ANY (because of Windows):
      receiverSocket = new MultiSocket(port);

      Bug 2:

      The receiver socket must join with an interface, because else the
      packets sent from the sendSocket are immediately blocked by the
      interface (not a member of the group).
      receiverSocket.joinGroup(mcastaddr, netIf); // Note that port in
      mcastaddr is ignored.

      I think it's also possible to have the sendSocket join, but I'm done.

      The effect here was that as long as nobody joins on the default
      multicast interface, nobody receives packets. This would seldomly occur,
      because there is always someone who joins the default interface.

      I've attached by own multicast tester. Which works in every config
      except on Windows with the counterfeit, doubtful, dubious, equivocal,
      fake, false, fictitious, inaccurate, mythical, spurious,
      unauthenticated, ungenuine, unsubstantiated, untrue, unverified, wrong
      "MS TCP loopback" device.

            rhn-engineering-bban Bela Ban
            rhn-engineering-bban Bela Ban
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: