WebSphere Message Service Client for C/C++, Version 2.0.2 Operating Systems: AIX, Linux, Solaris, Windows

Network stack selection mechanism

This section describes the network stack selection mechanism when both IPv4 and IPv6 network stacks are enabled on a machine.

When both IPv4 and IPv6 network stacks are enabled on a machine, the connection binds to either of the two network stacks based on the host name and local address properties.

The host name is specified by any of these properties, XMSC_WMQ_HOST_NAME, XMSC_RTT_HOST_NAME, and XMSC_WPM_PROVIDER_ENDPOINTS, while the local address may be determined by XMSC_WMQ_LOCAL_ADDRESS, XMSC_RTT_LOCAL_ADDRESS, or XMSC_WPM_LOCAL_ADDRESS.

The following table lists the outcome for the possible combinations of network stacks in use for the host name and local address.
Table 1. Network stack selection mechanism
Stack Host Name Local Address Connection result
IPv4 only stack IPv4 address None Connection binds to IPv4 stack
IPv6 address None Connection fails to resolve host name
Host name resolves to both IPv4 and IPv6 addresses None Connection binds to IPv4 stack
IPv4 address IPv4 address Connection binds to IPv4 stack
IPv6 address IPv4 address Connection fails to resolve host name
Remote host name resolves to both IPv4 and IPv6 addresses IPv4 address Connection binds to IPv4 stack
Any address IPv6 address Connection fails to resolve local address
IPv4 address Local address resolves to both IPv4 and IPv6 addresses Connection binds to IPv4 stack
IPv6 address Local address resolves to both IPv4 and IPv6 addresses Connection fails to resolve host name
Remote host name resolves to both IPv4 and IPv6 addresses Local address resolves to both IPv4 and IPv6 addresses Connection binds to IPv4 stack
Dual (IPv4 and IPv6) stack IPv4 address None Connection binds to IPv4 stack
IPv6 address None Connection binds to IPv6 stack
Remote host name resolves to both IPv4 and IPv6 addresses None For WPM and RTT, connection binds to IPv6 stack.

For WebSphere MQ, channel binds to stack determined by the value of the environment variable.

IPv4 address IPv4 address Connection binds to IPv4 stack
IPv6 address IPv4 address Connection fails to resolve host name
Remote host name resolves to both IPv4 and IPv6 addresses IPv4 address Connection binds to IPv4 stack
IPv4 address IPv6 address Maps an IPv4 host name to an IPv4 mapped IPv6 address. IPv6 implementations that do not support IPv4 mapped IPv6 addressing fail to resolve host name.
IPv6 address IPv6 address Connection binds to IPv6 stack
Remote host name resolves to both IPv4 and IPv6 addresses IPv6 address Connection binds to IPv6 stack
IPv4 address Local address resolves to both IPv4 and IPv6 addresses Connection binds to IPv4 stack
IPv6 address Local address resolves to both IPv4 and IPv6 addresses Connection binds to IPv6 stack
Remote host name resolves to both IPv4 and IPv6 addresses Local address resolves to both IPv4 and IPv6 addresses For WPM and RTT, connection binds to IPv6 stack.

For WebSphere MQ, channel binds to stack determined by the value of the environment variable.

IPv6 only stack IPv4 address None Maps an IPv4 host name to an IPv4 mapped IPv6 address. IPv6 implementations that do not support IPv4 mapped IPv6 addressing fail to resolve host name
IPv6 address None Connection binds to IPv6 stack
Remote host name resolves to both IPv4 and IPv6 addresses None Connection binds to IPv6 stack
Any address IPv4 address Connection fails to resolve local address
IPv4 address IPv6 address Maps an IPv4 host name to an IPv4 mapped IPv6 address. IPv6 implementations that do not support IPv4 mapped IPv6 addressing fail to resolve host name
IPv6 address IPv6 address Connection binds to IPv6 stack
Remote host name resolves to both IPv4 and IPv6 addresses IPv6 address Connection binds to IPv6 stack
IPv4 address Local address resolves to both IPv4 and IPv6 addresses Maps an IPv4 host name to an IPv4 mapped IPv6 address. IPv6 implementations that do not support IPv4 mapped IPv6 addressing fail to resolve host name
IPv6 address Local address resolves to both IPv4 and IPv6 addresses Connection binds to IPv6 stack
Remote host name resolves to both IPv4 and IPv6 addresses Local address resolves to both IPv4 and IPv6 addresses Connection binds to IPv6 stack

Reference topic

Terms of Use | Rate this page

Last updated: 24 May 2011

(C) Copyright IBM Corporation 2005, 2011. All Rights Reserved.