z/OS Communications Server: IPv6 Network and Application Design Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Using multicast and IPv6

z/OS Communications Server: IPv6 Network and Application Design Guide
SC27-3663-00

IPv6 provides enhanced support for multicast applications, including a more granular scope for multicast addressing and socket options that enable an application to use this support. Table 1 lists IPv4 multicast setsockopt() and getsockopt() options, the equivalent IPv6 multicast options, and protocol-independent multicast options.

Table 1. Multicast options
Multicast function IPv4 IPv6 Protocol-independent
Level of specified option on setsockopt()/getsockopt() IPPROTO_IP IPPROTO_IPV6 IPPROTO_IP or IPPROTO_IPV6
Join a multicast group IP_ADD_MEMBERSHIP IPV6_JOIN_GROUP MCAST_JOIN_GROUP
Leave a multicast group or leave all sources of that multicast group IP_DROP_MEMBERSHIP IPV6_LEAVE_GROUP MCAST_LEAVE_GROUP
Select outbound interface for sending multicast datagrams IP_MULTICAST_IF IPV6_MULTICAST_IF NA
Set maximum hop count IP_MULTICAST_TTL IPV6_MULTICAST_HOPS NA
Enable multicast loopback IP_MULTICAST_LOOP IPV6_MULTICAST_LOOP NA
Join a source multicast group IP_ADD_SOURCE_MEMBERSHIP NA MCAST_JOIN_SOURCE_GROUP
Leave a source multicast group IP_DROP_SOURCE_MEMBERSHIP NA MCAST_LEAVE_SOURCE_GROUP
Block data from a source to a multicast group IP_BLOCK_SOURCE NA MCAST_BLOCK_SOURCE
Unblock a previously blocked source for a multicast group IP_UNBLOCK_SOURCE NA MCAST_UNBLOCK_SOURCE

In addition to the changes in the setsockopt() and getsockopt() options, the input and output parameters specified for these options are also changed when compared to IPv4. For example, selecting an outgoing interface for sending multicast IPv6 datagram involves passing an interface index that identifies the interface versus passing the IP address of the interface. For a detailed description of the IPv6 multicast options see Options to control sending of multicast packets.

An important consideration in updating your multicast application for IPv6 is how these changes are provided to the other partner applications participating in these multicast operations. For example, if a partner application in the network that is receiving these multicast packets is not updated, then the application sending the multicast datagrams might need to send them twice, once to an IPv4 multicast address and once to an IPv6 multicast address. Also, in order to perform this type of processing the application needs to create two separate sockets, an AF_INET socket and a AF_INET6 socket. There is no support equivalent to IPv4-mapped IPv6 addresses that would allow an AF_INET6 socket to be used in sending IPv4 multicast packets. As an alternative solution, first enable all the receiver applications for IPv6 and then enable the sender applications.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014