The API uses IPV6_MULTICAST_LOOP socket option to enable
or disable the loopback of outgoing multicast datagrams. The default
is enabled. This option is used to enable an application with multiple
senders and receivers on a system to loop datagrams back so that each
process receives the transmissions of the other senders on the system.
illustrates
the use of IPV6_MULTICAST_LOOP by the use of the SETSOCKOPT and GETSOCKOPT
APIs.
Figure 1. IPV6_MULTICAST_LOOP
***********************************************************************
* *
* Issue SETSOCKOPT/GETSOCKOPT - IPV6_MULTICAST_LOOP ENABLED *
* *
***********************************************************************
EZASMI TYPE=SETSOCKOPT, ISSUE SETSOCKOPT X
S=S, SOCKET DESCRIPTOR X
OPTLEN=OPTLEN1, OPTION LENGTH X
OPTNAME='IPV6_MULTICAST_LOOP', OPTION NAME X
OPTVAL=OPTVALON, OPTION VALUE X
RETCODE=RETCODE, (SPECIFY RETCODE FIELD) X
ERROR=ERROR ABEND IF MACRO ERROR
BAL R14,RCCHECK --> CHECK IT
*
XC OPTVAL4,OPTVAL4
EZASMI TYPE=GETSOCKOPT, ISSUE GETSOCKOPT X
S=S, SOCKET DESCRIPTOR X
OPTLEN=OPTLEN1, OPTION LENGTH X
OPTNAME='IPV6_MULTICAST_LOOP', OPTION NAME X
OPTVAL=OPTVAL4, OPTION VALUE X
RETCODE=RETCODE, (SPECIFY RETCODE FIELD) X
ERROR=ERROR ABEND IF MACRO ERROR
BAL R14,RCCHECK --> CHECK IT
***********************************************************************
* *
* Issue SETSOCKOPT/GETSOCKOPT - IPV6_MULTICAST_LOOP DISABLED *
* *
***********************************************************************
EZASMI TYPE=SETSOCKOPT, ISSUE SETSOCKOPT X
S=S, SOCKET DESCRIPTOR X
OPTLEN=OPTLEN1, OPTION LENGTH X
OPTNAME='IPV6_MULTICAST_LOOP', OPTION NAME X
OPTVAL=OPTVALOFF, OPTION VALUE X
RETCODE=RETCODE, (SPECIFY RETCODE FIELD) X
ERROR=ERROR ABEND IF MACRO ERROR
BAL R14,RCCHECK --> CHECK IT
:
:
XC OPTVAL4,OPTVAL4
EZASMI TYPE=GETSOCKOPT, ISSUE GETSOCKOPT X
S=S, SOCKET DESCRIPTOR X
OPTLEN=OPTLEN1, OPTION LENGTH X
OPTNAME='IPV6_MULTICAST_LOOP', OPTION NAME X
OPTVAL=OPTVAL4, OPTION VALUE X
RETCODE=RETCODE, (SPECIFY RETCODE FIELD) X
ERROR=ERROR ABEND IF MACRO ERROR
BAL R14,RCCHECK --> CHECK IT