z/VM IPv6 Support in CMS


This page decribes the z/VM IPv6 Support in CMS.


OpenExtensions Sockets Interface updates for IPv6

The OpenExtensions Socket interfaces are documented in the C/C++ for z/VM Run-Time Library Reference (SC09-7624). The following changes were first introduced in z/VM Release 5.1.

The following header file changed:

  • The netinet/in.h header file is changed for IPv6 support

The following functions are new or updated to support IPv6:

  • accept() - accept a new connection on a socket
  • bind() - bind a name to a socket
  • close() - close a file
  • connect() - connect a socket
  • freeaddrinfo() - free addrinfo storage
  • gai_strerror() - address and name information error description
  • getaddrinfo() - get address information
  • getclientid() - get identifier for calling application
  • gethostbyaddr() - get a host entry by address
  • gethostbyname() - get a host entry by name
  • gethostent() - get next host entry
  • getibmsockopt() - get options associated with a bulk mode socket
  • getnameinfo() - get name information
  • getnetbyaddr() - get a network entry by address
  • getnetbyname() - get a network entry by name
  • getpeername() - get name of peer connected to a socket
  • getsockname() - get name of a socket
  • getsockopt() - get options associated with a socket
  • givesocket() - make specified socket available
  • ibmsflush() - flush application-sice datagram queue
  • if_freenameindex() - free the memory allocated by if_nameindex()
  • if_indextoname() - map a network interface index to its corresponding name
  • if_nameindex() - return all network interface names and indexes
  • if_nametoindex() - map a network interface name to its corresponding index
  • inet_ntop() - convert internet address format from binary to text
  • inet_pton() - convert internet address format from text to binary
  • ioctl() - control device
  • listen() - prepare server for incoming client requests
  • maxdesc() - get socket numbers to extend beyond default range
  • read() - read from a file
  • readv() - read data on a socket and store in a set of buffers
  • recv() - receive data on a socket
  • recvfrom() receive messages on socket
  • recvmsg() - receive messages on a socket and store in an array of message headers
  • send() - send data on a socket
  • sendmsg() - send messages on a socket
  • sendto() - send data on a socket
  • setibmsockopt() - set options associated with a bulk mode socket
  • setsockopt() - set options associated with a socket
  • shutdown() - shut dow all or part of a duplex connection
  • socket() - create a socket
  • takesocket() - acquire a socket from another program
  • tcperror() - print error messages of a socket function

OpenExtensions Callable Services updated to support IPv6

The callable services are documented in the OpenExtensions Callable Services Reference (SC24-6105). The following changes were first introduced in z/VM Release 5.1.

The following callable services are updated to support IPv6:

  • BPX1ACP - accept
  • BPX1BND - bind
  • BPX1CLO - close
  • BPX1CON - connect
  • BPX1GCL - getclientid
  • BPX1GIV - givesocket
  • BPX1GNM - getsockname/getpeername
  • BPX1HST - gethostid/gethostname
  • BPX1IOC - w_ioctl
  • BPX1LSN - listen
  • BPX1OPT - getsockopt/setsockopt
  • BPX1RCV - recv
  • BPX1RDV - readv
  • BPX1RED - read
  • BPX1RFM - recvfrom
  • BPX2RMS - recvmsg
  • BPX1SEL - select/selectex
  • BPX1SND - send
  • BPX2SMS - sendmsg
  • BPX1SHT - shutdown
  • BPX1SOC - socket
  • BPX1STO - sendto
  • BPX1TAK - takesocket
  • BPX1WRT - write
  • BPX1WRV - writev

TCP/UDP/IP API (Pascal Language) updated to support IPv6

The TCP/UDP/IP API for Pascal is documented in the z/VM TCP/IP Programmer's Reference (SC24-6126). The following changes were first introduced in z/VM Release 5.4.

The following structures are added to support IPv6:

  • Socket6Type
  • Status6InfoType

The following procedures are added to support IPv6:

  • Tcp6Open
  • Tcp6WaitOpen
  • Tcp6Status

The following procedures are updated to support IPv6:

  • TcpAbort
  • TcpClose
  • TcpFReceive
  • TcpFSend
  • TcpOption
  • TcpReceive
  • TcpSend
  • TcpWaitReceive
  • TcpWaitSend

Please direct questions, comments and feedback regarding z/VM's IPv6 support or any of the information on this page to either:

Miguel Delapaz
z/VM Development
migueld@us.ibm.com

Note: **
All statements regarding IBM's plans, directions, and intent are subject to change or withdrawal without notice. Any reliance on this Statement of Direction is at the relying party's sole risk and will not create any liability or obligation for IBM.