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

Handle IPv6 link-local addresses correctly when used as bind addresses or multicast addresses

    XMLWordPrintable

Details

    • Feature Request
    • Resolution: Done
    • Major
    • 2.8
    • 2.4.6, 2.6.10, 2.8
    • None
    • 0
    • 0% 0%

    Description

      IPv6 has two types of IP addresses: global addresses and non-global addresses.

      Global addresses are unique across the internet (via judicious allocation of network prefixes by authorities). They make up the range 2000::/3 (2000:: to 3fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff). Global addresses generally require no special treatment.

      Non-global addresses, like link-local (fe80::/10) and site-local addresses (fec0::/10) are not guaranteed to be unique - in the extreme case, two interfaces on the same host can have the same link-local address. This means that they cannot be used on their own when binding to a socket, but must have extra information (a zone id or sometimes called scope) added to them to disambiguate them. The zone id is basically the interface you want the message to go out on.

      A scoped link-local address is one which has a scope appended to it. The way to notate this is to append the scope to the link-local address after a % sign:

      <link-local IP address>%<zone id>

      where the zone Id can be numerical or simply the next name of the interface. For example, fe80::215:58ff:fec8:81a8%eth0.

      A JGroups user may make use of link-local addresses when binding. In that case, we need to make sure that the scope is present, and if not, take some action. Otherwise, when binding to a socket with an unscoped link-local address, a SocketException will be raised.

      Attachments

        Issue Links

          Activity

            People

              rhn-engineering-bban Bela Ban
              rachmato@redhat.com Richard Achmatowicz
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: