IPv6 support in SQL Anywhere

On IPv6-enabled computers, the network database server listens by default on all IPv4 and IPv6 addresses. IPv6 is supported on Windows, Linux, Mac OS X, Solaris, IBM AIX, and HP-UX.

Usually no changes are required to the database server start line to use IPv6. In the cases where specifying an IP address is required, the server and the client libraries both accept IPv4 and IPv6 addresses. For example, if a computer has more than one network card enabled, it probably has two IPv4 addresses and two IPv6 addresses. If you want the database server to listen on only one of the IPv6 addresses, you can specify an address in the following format:

dbsrv12 -x tcpip(MyIP=fd77:55f:5a64:52a:202:5445:5245:444f) ...

Similarly, if a client application needs to specify the IP address of a server, the connection string or DSN can contain the address, in the following format:

...;LINKS=tcpip(HOST=fe80::5445:5245:444f);...

Each interface is given an interface identifier, which appears at the end of an IPv6 address. For example, if ipconfig.exe lists the address fe80::5445:5245:444f%7, the interface identifier is 7. When specifying an IPv6 address on a Windows platform, the interface identifier should be used. On Unix, you can specify either an interface identifier or interface name (the interface name is the name of the interface reported by ifconfig). For example, the interface name is eth1 in the following IPv6 address: fe80::5445:5245:444f%eth1. An interface identifier is required when specifying IPv6 addresses on Linux (kernel 2.6.13 and later). This requirement affects values specified by the following protocol options:

For example, suppose ipconfig.exe lists two interfaces, one with the identifier 1 and the other 2. If you are looking for a database server that is on the network used by interface number 2, you can tell the client library to broadcast only on that interface:

LINKS=tcpip(BROADCAST=ff02::1%2)

Note that ff02::1 is the IPv6 link-local multicast address.