HP-UX IPv6 Porting Guide (September 2004)
Table Of Contents
- About This Document
- 1 Introduction
- 2 IPv6 Addressing
- 3 Data Structure Changes
- 4 Migrating Applications from IPv4 to IPv6
- 5 Overview of IPv4 and IPv6 Call Set-up
- 6 Function Calls Converting Names to Addresses
- 7 Function Calls Converting IP addresses to Names
- 8 Reading Error Messages
- 9 Freeing Memory
- 10 Converting Binary and Text Addresses
- 11 Testing for Scope and Type of IPv6 addresses using Macros
- 12 Identifying Local Interface Names and Indexes
- 13 Configuring or Querying an Interface using IPv6 ioctl() Function Calls
- 14 Verifying IPv6 Installation
- 15 Sample Client/Server Programs
- A IPv4 to IPv6 Quick Reference Guide

IPv6 Addressing
IPv6 Address Types
Chapter 212
Figure 2-7 Multicast Address Format
Some Well-know Multicast Addresses
FF02::1 All nodes (link-local)
FF02::2 All routers (link-local)
FF02::9 All Routing Information Protocol next generation (RIPng) routers (link-local)
IPv6 Wildcard Addresses
In IPv4, an application can let the system choose which source IP address to bind to a socket
by specifying a wildcard address: the symbolic constant INADDR_ANY in the bind() function
call. In IPv6, because the IPv6 address type is a structure (struct in6_addr), a symbolic
constant can initialize an IPv6 address structure variable, but cannot assign an IPv6
structure variable. Therefore, an IPv6 wildcard address requires two forms:
• For initialization, use the symbolic constant IN6ADDR_ANY_INIT of the type struct
in6_addr. For example,
struct in6_addr anyaddr = IN6ADDR_ANY_INIT;