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

Provide IP version checking based on @Property processing

    XMLWordPrintable

Details

    • Feature Request
    • Resolution: Done
    • Major
    • 2.8
    • 2.8
    • None
    • 0
    • 0% 0%

    Description

      With the advent of IPv6 suppport, JGroups needs to be IP version aware, in order to provide checks such as:

      • ensuring that JGroups peers are started us using a set of bind and multicast addresses which are of a single IP version
      • in the case of IPv6 link-local addresses, checking that link-local scopes are present to eliminate interface ambiguity

      Managing many InetAddress and related addresses (such as IpAddress and InetSocketAddress) which are used in many stack layers within a JGroups stack
      is difficult. Especially so when a decision (siuch as which IP version to use) depends upon having access to all InetAddresses at one point in time.

      One way to achieve this is to delay all InetAddress creation until the init() layer of each protocol, so that initial values for InetAddresses which have been passed in by the user (or not) may be inspected and a decition made. However, decitions made in one iinit() layer need to be communicated to the other layers - this is true in trying to assign a common IP version across all layers.

      Another approach is to intercept all InetAddress fields and setter methods during protocol stack creation, and after properties have been processed. This allows us access to the entire stack and its InetAddress variables by way of java.lang.reflect.Field and java.lang.reflect.Method processing.

      This is the approach to IP version checking (and other InetAddress related checks) which will be taken for JGroups.

      This approach also makes a nice stack creation-time companion to @Property processing (including the processing of dependencies and defaults).

      Attachments

        Issue Links

          Activity

            People

              rachmato@redhat.com Richard Achmatowicz
              rachmato@redhat.com Richard Achmatowicz
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: