z/OS UNIX System Services File System Interface Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Initializing an AF_INET6 (IPv6) transport driver

z/OS UNIX System Services File System Interface Reference
SA23-2285-00

When the transport driver that is being initialized is IPv6 capable, the prerouter also performs the following functions when it is notified of the TD's arrival:
  1. Opens a socket from the kernel address space. This is not the master socket, but a regular user socket that is initiated through the z/OS UNIX socket interface.
  2. Issues the SIOCGHOMEIF6 ioctl to the TP.
    • If the TP recognizes that the SIOCGHOMEIF6 was sent by the z/OS UNIX prerouter (the prerouter puts 'USS6' in the first four bytes of the buffer), the TP returns the ioctl with NchNumEntryRet set to -1 (to indicate that no home interface information is being returned). The prerouter will receive information about the home IPv6 interfaces maintained by the file system in the next step.
      A TP that responds to the SIOCGHOMEIF6 ioctl in this manner must use the following ioctls to notify the prerouter of changes to individual IPv6 routes:
      • SIOCMSADDRT6V2
      • SIOCMSDELRT6V2
      • SIOCMSCHGRT6METRICV2
    • Otherwise, the TP returns the list of home IPv6 interfaces via the ioctl. The prerouter adds the home IP addresses to the home interface table.
      A TP that responds to the SIOCGHOMEIF6 ioctl in this manner must use the following ioctls to notify the prerouter of changes to individual IPv6 routes:
      • SIOCMSADDRT6
      • SIOCMSDELRT6
      • SIOCMSCHGRT6METRIC
  3. Issues the SIOCGRT6TABLE ioctl. This gets the file system IPv6 home, host, and network routing information in a table format.
    • The TP places the home interface index in the GRT6RtHomeIfIdx field for each route to be returned.
    • The TP identifies home routes by setting the IPV6BitHome and IPV6BitHost bits on.
    • When the TP sets the IPV6BitHome and IPV6BitHost bits on in any route, it also sets the IPV6BitRtUp bit on if the interface is active, or off if it is inactive.
  4. Places the routes returned from the SIOCGRT6TABLE ioctl in the home, host, and network routing tables managed by the prerouter. (Note that IPv6 metrics are in hop counts.)
  5. Closes the socket.
The prerouter is now initialized for the transport driver.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014