Before you begin: You must know that:
- The names TCPIP1, TCPIP2, TCPIP3, and TCPIP4 are the names of
the TCP/IP started tasks. The names must match the job names that
are associated with the TCP/IP started task procedure.
- The first TCP/IP has been designated as the default (DEFAULT)
transport provider.
- The value specified for the TYPE operand can be any 8-character
value, but that value must match on the FILESYSTYPE statement for CINET, on the
SUBFILESYSTYPE statements for the transport providers, and on the
NETWORK statement for CINET.
Perform the following steps to customize BPXPRMxx for CINET.
- Specify the following in BPXPRMxx:
FILESYSTYPE TYPE(CINET)
ENTRYPOINT(BPXTCINT)
_______________________________________________________________
- Specify the AF_INET or dual AF_INET/AF_INET6 sockets physical
file systems that are to be activated.
SUBFILESYSTYPE NAME(TCPIP1) /* First TCPIP (TCPIP1) */
TYPE(CINET)
ENTRYPOINT(EZBPFINI)
DEFAULT
SUBFILESYSTYPE NAME(TCPIP2) /* Second TCPIP (TCPIP2) */
TYPE(CINET)
ENTRYPOINT(EZBPFINI)
SUBFILESYSTYPE NAME(TCPIP3) /* Third TCPIP (TCPIP3) */
TYPE(CINET)
ENTRYPOINT(EZBPFINI)
SUBFILESYSTYPE NAME(TCPIP4) /* Fourth TCPIP (TCPIP4) */
TYPE(CINET)
ENTRYPOINT(EZBPFINI)
NETWORK DOMAINNAME(AF_INET) DOMAINNUMBER(2) MAXSOCKETS(64000)
TYPE(CINET) INADDRANYPORT(4901) INADDRANYCOUNT(100)
_______________________________________________________________
When you are done, you have customized BPXPRMxx for CINET sockets
processing.
Note: - If you want to use IPv6, add the following NETWORK statement:
NETWORK TYPE(CINET) DOMAINNAME(AF_INET6) DOMAINNUMBER(19)
IPv6
support is optional.
- For AF_INET6, you can specify a separate MAXSOCKETS value or let
it default to the value specified for AF_INET. In either case, each
family has its own separate maximum.
- For AF_INET6, the INADDRANYPORT and INADDRANYCOUNT keywords are
ignored. You can activate AF_INET6 without recycling z/OS UNIX by adding
this NETWORK statement to a running configuration with the SETOMVS
RESET=() operator command. You would specify a BPXPRMxx member that
contains just this one statement. However, you would have to stop
and restart each TCP/IP stack in order to pick up the new definition.
After the default transport provider is assigned, the following
actions are taken on sockets calls unless transport affinity has been
established. (For more information, see Transport providers)
- getsockname(): If there is a single transport provider
that has been connected or bound to, that transport provider is used.
Otherwise, the default transport provider is used.
- gethostname() or gethostid(): The request is always
to be routed to the default transport provider.
- getsockopt() or setsockopt(): If there is a single
transport provider that has been connected or bound to, that transport
provider is used. Otherwise, the default transport provider is used.
Route selection: When an application program makes a request
that could be sent to any of a number of transport providers (for
example, a datagram sendto() request, connect() request or bind2addrsel()
request), the CINET prerouter examines its internal routing table
information and decides which transport provider to send the request
to. If matching host routes or network routes are found, then following
criteria is applied to select the best route in order:
- If the route is an implicit and NON-DVIPA route, then it is selected
to route the request regardless of the interface state (active or
inactive).
- If the route is an implicit and DVIPA route, then it is selected
to route the request only if the interface is active.
- If the route is a non-implicit route (DVIPA or NON-DVIPA), then
it is selected to route the request only if the interface is active.
- If there are multiple matching non implicit routes, then the route
with better route type and routing metric is selected to route the
request.
- If no matching host routes are found, the CINET prerouter looks
for most specific matching network route.
- If there are multiple specific matching network routes, then the
route with better route type and routing metric is selected to route
the request.
- If there are no matching host or network routes, then active best
default route is selected to route the request.
Note: - If there is more than one transport provider that maintains a
route to the destination with the same route type and routing metrics,
then the transport provider specified as the default is chosen.
- When looking for default routes, if more than one transport provider
maintains a default route, then the transport provider with the better
route type and routing metric is chosen. If there are no active default
routes, then the default transport provider is chosen to route the
request.
.