[sip-comm] Problem with Java 1.5 and IPv6 under Linux


#1

Hi,

/fe80:0:0:0:200:e2ff:fe54:9f0c%2;
/2001:7a0:202:2:200:e2ff:fe54:9f0c%2;

Enumeration localIfaces = NetworkInterface.getNetworkInterfaces();
while (localIfaces.hasMoreElements()) {
System.out.println(localIfaces.nextElement());
}

http://java.sun.com/j2se/1.5.0/docs/api/java/net/Inet6Address.html

Textual representation of IPv6 scoped addresses

The textual representation of IPv6 addresses as described above can be extended to specify IPv6 scoped addresses. This extension to the basic addressing architecture is described in [draft-ietf-ipngwg-scoping-arch-04.txt].

Because link-local and site-local addresses are non-global, it is possible that different hosts may have the same destination address and may be reachable through different interfaces on the same originating system. In this case, the originating system is said to be connected to multiple zones of the same scope. In order to disambiguate which is the intended destination zone, it is possible to append a zone identifier (or scope_id) to an IPv6 address.

The general format for specifying the scope_id is the following:

    IPv6-address%scope_id

The IPv6-address is a literal IPv6 address as described above. The scope_id refers to an interface on the local system, and it can be specified in two ways.

   1. As a numeric identifier. This must be a positive integer that identifies the particular interface and scope as understood by the system. Usually, the numeric values can be determined through administration tools on the system. Each interface may have multiple values, one for each scope. If the scope is unspecified, then the default value used is zero.

   2. As a string. This must be the exact string that is returned by NetworkInterface.getName() for the particular interface in question. When an Inet6Address is created in this way, the numeric scope-id is determined at the time the object is created by querying the relevant NetworkInterface.

Note also, that the numeric scope_id can be retrieved from Inet6Address instances returned from the NetworkInterface class. This can be used to find out the current scope ids configured on the system.

···

--
Simon Schoar
Bell Labs Europe
Advanced Technologies

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: users-help@sip-communicator.dev.java.net