mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
Initial s390-tools-2.0.0 import
This commit is based on the s390-tools-1.39.0 version. Changes on top of s390-tools-1.39.0: - Add MIT license to all source files - Add LICENSE file - Transform REAMDE to README.md (markdown) - Add AUTHORS.md file - Add CONTRIBUTING.md file - Move changelog from README to CHANGELOG.md file Reviewed-by: Stefan Haberland <sth@linux.vnet.ibm.com> Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
This commit is contained in:
20
man/Makefile
Normal file
20
man/Makefile
Normal file
@@ -0,0 +1,20 @@
|
||||
include ../common.mak
|
||||
|
||||
MANS = dumpconf.8 prandom.4 af_iucv.7
|
||||
|
||||
all:
|
||||
|
||||
clean:
|
||||
|
||||
install: $(MANS)
|
||||
for man in $(MANS); do \
|
||||
msection=`echo $$man |sed 's/.*\.\([1-8]\)$$/man\1/'` ; \
|
||||
$(INSTALL) -g $(GROUP) -o $(OWNER) -m 644 -D $$man $(DESTDIR)$(MANDIR)/$$msection/$$man ; \
|
||||
done
|
||||
|
||||
pdf: $(MANS)
|
||||
for man in $(MANS); do \
|
||||
man -t ./$$man |ps2pdf -sPAPERSIZE=a4 - $${man}.pdf ; \
|
||||
done
|
||||
|
||||
.PHONY: all install clean pdf
|
||||
576
man/af_iucv.7
Normal file
576
man/af_iucv.7
Normal file
@@ -0,0 +1,576 @@
|
||||
.\" af_iucv.7
|
||||
.\"
|
||||
.\"
|
||||
.\" Copyright IBM Corp. 2008, 2017
|
||||
.\" s390-tools is free software; you can redistribute it and/or modify
|
||||
.\" it under the terms of the MIT license. See LICENSE for details.
|
||||
.\" ----------------------------------------------------------------------
|
||||
.TH AF_IUCV 7 "August 2011" "s390-tools" "Linux Programmer's Manual"
|
||||
.SH NAME
|
||||
AF_IUCV \- Sockets for z/VM IUCV and HiperSockets communication
|
||||
.
|
||||
.
|
||||
.
|
||||
.SH SYNOPSIS
|
||||
.B #include <sys/socket.h>
|
||||
.br
|
||||
.B #include <netiucv/iucv.h>
|
||||
.PP
|
||||
.IB iucv_stream_socket " = socket(AF_IUCV, SOCK_STREAM, 0);"
|
||||
.br
|
||||
.IB iucv_packet_socket " = socket(AF_IUCV, SOCK_SEQPACKET, 0);"
|
||||
.
|
||||
.
|
||||
.
|
||||
.SH DESCRIPTION
|
||||
The AF_IUCV address family provides an addressing mode for communications
|
||||
between applications that run on System z mainframes. This addressing mode can be
|
||||
used for connections through real HiperSockets and through the z/VM Inter-User
|
||||
Communication Vehicle (IUCV).
|
||||
.PP
|
||||
HiperSockets facilitate connections between applications across LPARs within a
|
||||
System z mainframe. In particular, an application running on an instance of Linux
|
||||
on System z can communicate with:
|
||||
.RS 2
|
||||
.IP "\(bu" 2
|
||||
Itself
|
||||
.IP "\(bu" 2
|
||||
Other applications running on the same Linux instance
|
||||
.IP "\(bu" 2
|
||||
An application on an instance of Linux on System z in another LPAR
|
||||
.RE
|
||||
.PP
|
||||
IUCV facilitates connections between applications across z/VM guest virtual
|
||||
machines within a z/VM system. In particular, an application running on Linux on
|
||||
z/VM can communicate with:
|
||||
.RS 2
|
||||
.IP "\(bu" 2
|
||||
Itself
|
||||
.IP "\(bu" 2
|
||||
Other applications running on the same Linux instance
|
||||
.IP "\(bu" 2
|
||||
Applications running on other instances of Linux on z/VM within the same z/VM system
|
||||
.IP "\(bu" 2
|
||||
Applications running on a z/VM guest other than Linux within the same z/VM system
|
||||
.IP "\(bu" 2
|
||||
The z/VM control program (CP)
|
||||
.RE
|
||||
.PP
|
||||
The AF_IUCV address family supports stream-oriented sockets
|
||||
(\f(CWSOCK_STREAM\fP) and connection-oriented datagram sockets
|
||||
(\f(CWSOCK_SEQPACKET\fP). Stream-oriented sockets can fragment data over
|
||||
several packets. Sockets of type SOCK_SEQPACKET always map a particular
|
||||
socket write or read operation to a single packet.
|
||||
.
|
||||
.
|
||||
.SS Features
|
||||
For all instances of Linux on System z, the AF_IUCV address family provides:
|
||||
.RS 2
|
||||
.IP "\(bu" 2
|
||||
Multiple outgoing socket connections for real HiperSockets in layer3 mode
|
||||
.IP "\(bu" 2
|
||||
Multiple incoming socket connections for real HiperSockets in layer3 mode
|
||||
.RE
|
||||
.PP
|
||||
For instances of Linux on z/VM, the AF_IUCV address family also provides:
|
||||
.RS 2
|
||||
.IP "\(bu" 2
|
||||
Multiple outgoing socket connections for IUCV
|
||||
.IP "\(bu" 2
|
||||
Multiple incoming socket connections for IUCV
|
||||
.IP "\(bu" 2
|
||||
Socket communication with applications utilizing CMS AF_IUCV support
|
||||
.RE
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.SH "ADDRESS FORMAT"
|
||||
An AF_IUCV socket is represented by the following format:
|
||||
.PP
|
||||
.RS 8
|
||||
.ft CW
|
||||
.nf
|
||||
#define AF_IUCV 32
|
||||
|
||||
struct sockaddr_iucv {
|
||||
sa_family_t siucv_family; /* AF_IUCV */
|
||||
unsigned short siucv_port; /* reserved */
|
||||
unsigned int siucv_addr; /* reserved */
|
||||
char siucv_nodeid[8]; /* reserved */
|
||||
char siucv_user_id[8]; /* user id */
|
||||
char siucv_name[8]; /* application name */
|
||||
};
|
||||
.fi
|
||||
.ft
|
||||
.RE
|
||||
.PP
|
||||
.TP
|
||||
.B siucv_family
|
||||
is set to
|
||||
.BR AF_IUCV
|
||||
(= 32)
|
||||
.
|
||||
.TP
|
||||
.B siucv_port, siucv_addr, siucv_nodeid
|
||||
are reserved for future use. The
|
||||
.B siucv_port
|
||||
and
|
||||
.B siucv_addr
|
||||
fields must be zero. The
|
||||
.B siucv_nodeid
|
||||
field must be set to exactly eight blanks.
|
||||
.
|
||||
.TP
|
||||
.B siucv_user_id
|
||||
specifies a HiperSockets device or a z/VM guest virtual machine.
|
||||
This specification implicitly sets the connection type for the socket to a
|
||||
HiperSockets connection or to a z/VM IUCV connection.
|
||||
|
||||
This field must be eight characters long and, if necessary, padded with
|
||||
blanks on the right.
|
||||
|
||||
For HiperSockets connections, the
|
||||
.B siucv_user_id
|
||||
field specifies the identifier that is set with the \fBhsuid\fP sysfs
|
||||
attribute of the HiperSockets device. For
|
||||
.BR bind (2)
|
||||
this is the identifier of a local device, and for
|
||||
.BR connect (2)
|
||||
this is the identifier of the HiperSockets device of the communication
|
||||
peer.
|
||||
|
||||
For IUCV connections, the
|
||||
.B siucv_user_id
|
||||
field specifies a z/VM user ID. For
|
||||
.BR bind (2)
|
||||
this is the identifier of the local z/VM guest virtual machine, and
|
||||
for
|
||||
.BR connect (2)
|
||||
this is the identifier of the z/VM guest virtual machine for the
|
||||
communication peer.
|
||||
|
||||
.RS
|
||||
.TP
|
||||
.B Tip:
|
||||
For
|
||||
.BR bind (2)
|
||||
you can also specify eight blanks. The AF_IUCV address family support
|
||||
then automatically substitutes the local z/VM user ID for you.
|
||||
.RE
|
||||
.
|
||||
.TP
|
||||
.B siucv_name
|
||||
is set to the application name by which the socket is known. Servers advertise
|
||||
application names and clients use these application names to connect to servers.
|
||||
This field must be eight characters long, and if necessary, padded with blanks on
|
||||
the right.
|
||||
|
||||
Similar to TCP or UDP ports, application names distinguish distinct
|
||||
applications on the same operating system instance. Do not call
|
||||
.BR bind (2)
|
||||
for names beginning with \fBlnxhvc\fP. These names are reserved for the
|
||||
z/VM IUCV HVC device driver (see also
|
||||
.BR hvc_iucv (9)).
|
||||
.
|
||||
.
|
||||
.
|
||||
.SH "SOCKET OPTIONS"
|
||||
Socket options can be set with
|
||||
.BR setsockopt (2)
|
||||
and read with
|
||||
.BR getsockopt (2)
|
||||
by specifying \f(CWSOL_IUCV\fP as the socket level.
|
||||
|
||||
.TP
|
||||
.B SO_IPRMDATA_MSG
|
||||
Enables the application to send up to seven bytes of socket data in the
|
||||
parameter list of an IUCV message. Use this option for IUCV connections
|
||||
to increase performance when transferring small amounts of data.
|
||||
For HiperSockets connections, this option has no effect.
|
||||
|
||||
To send data in the parameter list, specify a non-zero integer value.
|
||||
|
||||
.RS
|
||||
.TP
|
||||
.B Note:
|
||||
Use this option with care, older AF_IUCV versions do not support receiving
|
||||
socket data in the parameter list and shut down the socket on which
|
||||
a parameter list message has been received.
|
||||
.RE
|
||||
.
|
||||
.TP
|
||||
.B SO_MSGLIMIT
|
||||
Modifies the message limit for communication paths. The message limit
|
||||
specifies the maximum number of outstanding messages that are allowed
|
||||
for established connections. For IUCV connections this setting can be
|
||||
lowered by z/VM when a connection is established.
|
||||
|
||||
The message limit is an integer value in range 1 to 65535.
|
||||
The default value is 65535 for IUCV connections and 128 for HiperSockets
|
||||
connections.
|
||||
|
||||
The message limit must be set before
|
||||
.BR connect "(2) or " listen (2)
|
||||
is called for sockets.
|
||||
.br
|
||||
For sockets that are already connected or listening for connections,
|
||||
the message limit cannot be changed.
|
||||
.br
|
||||
New sockets created by
|
||||
.BR accept (2)
|
||||
inherit the message limit that has been set for the listening socket.
|
||||
|
||||
.BR getsockopt (2)
|
||||
returns the default message limit or the limit that has been set.
|
||||
For connected sockets, the current message limit is returned.
|
||||
For IUCV connections, there are two parameters that specify the message limit:
|
||||
.BR getsockopt (2)
|
||||
and the z/VM IUCV MSGLIMIT parameter. If the two parameters specify different
|
||||
values for the message limit, the lower value is used.
|
||||
|
||||
See the "SETUP FOR IUCV CONNECTIONS" section for setting IUCV MSGLIMIT
|
||||
authorizations.
|
||||
.
|
||||
.TP
|
||||
.B SO_MSGSIZE
|
||||
.BR getsockopt (2)
|
||||
returns the maximum message size a bound AF_IUCV socket can handle.
|
||||
The maximum message size for connections through HiperSockets depends on
|
||||
the MTU size of the underlying HiperSockets connection.
|
||||
.br
|
||||
For sockets that are not yet bound the maximum message size cannot be
|
||||
determined.
|
||||
.
|
||||
.
|
||||
.SH "ANCILLARY DATA"
|
||||
Ancillary data is sent and received using
|
||||
.BR sendmsg (2)
|
||||
and
|
||||
.BR recvmsg (2)\fR.\fP
|
||||
To send ancillary data, set the \fBcmsg_level\fP field of struct \fBcmsghdr\fP
|
||||
to \f(CWSOL_IUCV\fP and the \fBcmsg_type\fP field to a type of ancillary data
|
||||
that is supported by the AF_IUCV address family.
|
||||
.br
|
||||
For more information see
|
||||
.BR cmsg (3).
|
||||
|
||||
Currently, the only supported type is:
|
||||
.TP
|
||||
.B SCM_IUCV_TRGCLS
|
||||
Send or receive IUCV target class information. The IUCV target class can be used
|
||||
to classify and identify an IUCV message at the IUCV protocol level.
|
||||
If the target class is not specified as ancillary data, it is set to zero.
|
||||
|
||||
The target class is a number of type \fBuint32_t\fP.
|
||||
.
|
||||
.
|
||||
.
|
||||
.SH "SETUP FOR HIPERSOCKETS CONNECTIONS"
|
||||
This section applies to HiperSockets connections and explains the
|
||||
configuration of a HiperSockets device used for AF_IUCV address family
|
||||
support.
|
||||
.PP
|
||||
To run an AF_IUCV socket application using HiperSockets connections, the
|
||||
socket must be bound to a particular HiperSockets device configured with
|
||||
layer3 mode.
|
||||
Use the \f(CWhsuid\fP attribute of a HiperSockets device to identify it
|
||||
to the AF_IUCV address family support.
|
||||
.PP
|
||||
The identifier must adhere to these rules:
|
||||
.RS 2
|
||||
.IP \(bu 2
|
||||
It must be 1 to 8 characters.
|
||||
.IP \(bu 2
|
||||
It must be unique across your environment.
|
||||
.IP \(bu 2
|
||||
It must not match any z/VM user ID in your environment.
|
||||
.RE
|
||||
.PP
|
||||
To set an identifier, issue a command like this:
|
||||
.PP
|
||||
.RS 8
|
||||
.ft CW
|
||||
echo \fIidentifier\fP > /sys/devices/qeth/\fI<bus-ID>\fP/hsuid
|
||||
.ft
|
||||
.RE
|
||||
.PP
|
||||
You can then address this device by specifying the hsuid as the
|
||||
value for the \fBsiucv_user_id\fP field in the \fBsockaddr_iucv\fP
|
||||
addressing structure.
|
||||
.PP
|
||||
For example, to use "MYHOST01" to bind AF_IUCV sockets to the
|
||||
HiperSockets device with bus-ID 0.0.8000, run:
|
||||
.PP
|
||||
.RS 8
|
||||
.ft CW
|
||||
.nf
|
||||
echo "MYHOST01" > /sys/devices/qeth/0.0.8000/hsuid
|
||||
.fi
|
||||
.ft
|
||||
.RE
|
||||
.
|
||||
.
|
||||
.
|
||||
.SH "SETUP FOR IUCV CONNECTIONS"
|
||||
This section applies to z/VM IUCV connections and provides an overview of the
|
||||
required IUCV statements for your z/VM guest virtual machines. For details
|
||||
and for general IUCV setup information for z/VM guest virtual machines see
|
||||
.I z/VM CP Programming Services
|
||||
and
|
||||
.IR "z/VM CP Planning and Administration" .
|
||||
.
|
||||
.
|
||||
.SS "Granting IUCV authorizations"
|
||||
Use the
|
||||
.B IUCV
|
||||
directory control statement to grant the necessary authorizations.
|
||||
.
|
||||
.TP
|
||||
.B IUCV ALLOW
|
||||
allows any other z/VM guest virtual machine to establish a communication path
|
||||
with this z/VM guest virtual machine. With this statement, no further
|
||||
authorization is required for the z/VM guest virtual machine that initiates
|
||||
the communication.
|
||||
.
|
||||
.TP
|
||||
.B IUCV ANY
|
||||
allows this z/VM guest virtual machine to establish a communication path with
|
||||
any other z/VM guest virtual machine.
|
||||
.
|
||||
.TP
|
||||
.B IUCV \fIuser_ID\fP
|
||||
allows this z/VM guest virtual machine to establish a communication path to the
|
||||
z/VM guest virtual machine with the z/VM user ID \fIuser_ID\fP.
|
||||
.PP
|
||||
You can specify multiple IUCV statements. To any of these IUCV statements you
|
||||
can append the
|
||||
.B MSGLIMIT \fIlimit\fP
|
||||
parameter.
|
||||
\fIlimit\fP specifies the maximum number of outstanding messages that are
|
||||
allowed for each connection authorized by this statement.
|
||||
If no value is specified for \fBMSGLIMIT\fP, the maximum, 65535, is used.
|
||||
.
|
||||
.
|
||||
.SS "Setting a connection limit"
|
||||
Use the \fBOPTION\fP statement to limit the number of concurrent connections.
|
||||
.TP
|
||||
.B OPTION MAXCONN \fImaxno\fP
|
||||
\fImaxno\fP specifies the maximum number of IUCV connections allowed for this
|
||||
virtual machine. The default is 64. The maximum is 65535.
|
||||
.
|
||||
.
|
||||
.SS "Example"
|
||||
These sample statements allow any z/VM guest virtual machine to connect to your
|
||||
z/VM guest virtual machine with a maximum of 10\^000 outstanding messages for each
|
||||
incoming connection. Your z/VM guest virtual machine is permitted to connect to
|
||||
all other z/VM guest virtual machines. The total number of connections for your
|
||||
z/VM guest virtual machine cannot exceed 100.
|
||||
.ft CW
|
||||
.in +0.25i
|
||||
.nf
|
||||
|
||||
IUCV ALLOW MSGLIMIT 10000
|
||||
IUCV ANY
|
||||
OPTION MAXCONN 100
|
||||
|
||||
.fi
|
||||
.in -0.25i
|
||||
.ft
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.SH ERRORS
|
||||
Several socket operations return error conditions that have a special meaning in
|
||||
the context of AF_IUCV. Those error conditions, and the respective descriptions
|
||||
are listed below.
|
||||
|
||||
See the manual page of the respective socket operation for a complete list
|
||||
of errors.
|
||||
|
||||
.TP
|
||||
.B ECONNREFUSED
|
||||
.BR connect (2)
|
||||
called but the target system is not listening on the
|
||||
application name.
|
||||
.
|
||||
.TP
|
||||
.B ENETUNREACH
|
||||
.BR connect (2)
|
||||
called but the target z/VM guest virtual machine is not logged on.
|
||||
Ensure that the z/VM guest virtual machine to which your application wants to
|
||||
connect is logged on.
|
||||
.
|
||||
.TP
|
||||
.B EAGAIN
|
||||
.BR connect (2)
|
||||
called but the maximum number of IUCV connections is exceeded for the calling
|
||||
or for the target z/VM guest virtual machine.
|
||||
This error can be temporary and the application might try again after some
|
||||
time. If the error occurs repeatedly, increase the maximum number of
|
||||
connections (for one or both z/VM guest virtual machines).
|
||||
See the "SETUP FOR IUCV CONNECTIONS" section about the required authorization
|
||||
statement.
|
||||
|
||||
.B sendmsg (2)
|
||||
called but the maximum number of outstanding messages for the socket
|
||||
connection is reached, for example, if data is available that has not
|
||||
yet been received by the communication peer.
|
||||
|
||||
If necessary, increase the message limit using the
|
||||
.BR setsockopt (2)
|
||||
function for HiperSockets and IUCV connections. In addition, increase the
|
||||
IUCV message limit as as explained in section "Granting IUCV authorizations".
|
||||
.
|
||||
.TP
|
||||
.B EACCES
|
||||
.BR connect (2)
|
||||
called but the calling z/VM guest virtual machine is missing IUCV authorization.
|
||||
See the "SETUP FOR IUCV CONNECTIONS" section about required IUCV authorizations.
|
||||
.
|
||||
.TP
|
||||
.B ENODEV
|
||||
.BR connect (2)
|
||||
or
|
||||
.BR sendmsg (2)
|
||||
called but the HiperSockets device bound to the AF_IUCV socket does not exist.
|
||||
.
|
||||
.TP
|
||||
.B ENETDOWN
|
||||
.BR connect (2)
|
||||
or
|
||||
.BR sendmsg (2)
|
||||
called but the HiperSockets device bound to the AF_IUCV socket is not activated.
|
||||
.
|
||||
.TP
|
||||
.B EBADFD
|
||||
.BR connect (2)
|
||||
called but for HiperSockets connections the AF_IUCV socket is not
|
||||
bound or, for IUCV connections, the socket is neither in open nor in bound
|
||||
state.
|
||||
|
||||
.BR bind (2)
|
||||
called but the AF_IUCV socket is no longer in open state.
|
||||
|
||||
.BR accept (2)
|
||||
called but the AF_IUCV socket is not listening.
|
||||
|
||||
.BR getsockopt (2)
|
||||
called but the AF_IUCV socket is not bound.
|
||||
|
||||
.TP
|
||||
.B EINVAL
|
||||
.BR connect (2)
|
||||
or
|
||||
.BR bind (2)
|
||||
called but the \fBsiucv_family\fP field of the specified \fBsockaddr_iucv\fP
|
||||
structure is not set to \fBAF_IUCV\fP.
|
||||
|
||||
.BR listen (2)
|
||||
called but the AF_IUCV socket has not yet been bound to an address.
|
||||
Always call
|
||||
.BR bind (2)
|
||||
before
|
||||
.BR listen (2).
|
||||
|
||||
.BR setsockopt (2)
|
||||
called with option \fBSO_MSGLIMIT\fP for sockets that are already connected.
|
||||
.
|
||||
.TP
|
||||
.B ENOPROTOOPT
|
||||
.BR setsockopt (2)
|
||||
or
|
||||
.BR getsockopt (2)
|
||||
called but the socket level has not been set to \f(CWSOL_IUCV\fP, or the
|
||||
specified socket option is not supported.
|
||||
.
|
||||
.TP
|
||||
.B EOPNOTSUPP
|
||||
.BR sendmsg (2)
|
||||
or
|
||||
.BR recvmsg (2)
|
||||
might have been called with the
|
||||
.I MSG_OOB
|
||||
flag set.
|
||||
AF_IUCV does not support sending or receiving \fIout-of-band\fP data on its
|
||||
sockets.
|
||||
|
||||
For \f(CWSOCK_SEQPACKET\fP sockets,
|
||||
.BR sendmsg (2)
|
||||
called without the
|
||||
.I MSG_EOR
|
||||
flag set.
|
||||
AF_IUCV does not support segmentation, and thus, the "end-of-record"
|
||||
(\fIMSG_EOR\fP) flag must always be set.
|
||||
.
|
||||
.TP
|
||||
.B EPROTONOSUPPORT
|
||||
.BR socket (2)
|
||||
called with a protocol that is not supported. The socket protocol parameter
|
||||
must be either zero or \f(CWPF_IUCV\fP.
|
||||
.
|
||||
.TP
|
||||
.B EAFNOSUPPORT
|
||||
.BR socket (2)
|
||||
called with \f(CWAF_IUCV\fP but the AF_IUCV address family is not
|
||||
supported by the current Linux kernel. Ensure that your Linux kernel has been
|
||||
compiled with support for the latest version of the AF_IUCV address family.
|
||||
.
|
||||
.TP
|
||||
.B EADDRINUSE
|
||||
.BR bind (2)
|
||||
called with an \fBsiucv_name\fP already used for another AF_IUCV socket.
|
||||
.
|
||||
.PP
|
||||
Other errors can be generated by the generic socket layer. See the respective
|
||||
manual pages for more information.
|
||||
.
|
||||
.
|
||||
.
|
||||
.SH "SEE ALSO"
|
||||
.BR connect (2),
|
||||
.BR recvmsg (2),
|
||||
.BR sendmsg (2),
|
||||
.BR socket (2),
|
||||
.BR setsockopt (2),
|
||||
.BR getsockopt (2),
|
||||
.BR cmsg (3),
|
||||
.BR socket (7)
|
||||
|
||||
.I "Linux on System z - Device Drivers, Features, and Commands"
|
||||
.br
|
||||
.I "z/VM CP Planning and Administration"
|
||||
.br
|
||||
.I "z/VM CP Programming Services"
|
||||
.
|
||||
.
|
||||
.
|
||||
.SH "HISTORY"
|
||||
.TP
|
||||
.B AF_IUCV, version 1.0
|
||||
.RS 4
|
||||
.IP "\(bu" 2
|
||||
Initial version.
|
||||
.RE
|
||||
.
|
||||
.TP
|
||||
.B AF_IUCV, version 1.1
|
||||
.RS 4
|
||||
.IP "\(bu" 2
|
||||
Support for sending socket data in the parameter list of an IUCV message
|
||||
(\f(CWSO_IPRMDATA_MSG\fP).
|
||||
.IP "\(bu" 2
|
||||
Access the target class of an IUCV message as ancillary data using
|
||||
.BR sendmsg "(2) and " recvmsg (2).
|
||||
.IP "\(bu" 2
|
||||
Support for \f(CWSOCK_SEQPACKET\fP sockets to facilitate development of native
|
||||
IUCV applications that interact with AF_IUCV.
|
||||
.RE
|
||||
.
|
||||
.TP
|
||||
.B AF_IUCV, version 1.2
|
||||
.RS 4
|
||||
.IP "\(bu" 2
|
||||
Support for HiperSockets connections.
|
||||
.RE
|
||||
187
man/dumpconf.8
Normal file
187
man/dumpconf.8
Normal file
@@ -0,0 +1,187 @@
|
||||
.\" Copyright 2017 IBM Corp.
|
||||
.\" s390-tools is free software; you can redistribute it and/or modify
|
||||
.\" it under the terms of the MIT license. See LICENSE for details.
|
||||
.\"
|
||||
.TH DUMPCONF 8 "Sept 2011" "s390-tools"
|
||||
|
||||
.SH NAME
|
||||
dumpconf \- Configure panic and PSW restart actions for Linux on System z
|
||||
|
||||
.SH SYNOPSIS
|
||||
.br
|
||||
\fBdumpconf\fR [start|stop|status]
|
||||
.br
|
||||
\fBdumpconf\fR [-h|-v]
|
||||
|
||||
.SH DESCRIPTION
|
||||
\fBdumpconf\fR reads the /etc/sysconfig/dumpconf file
|
||||
and establishes the action to be taken if a kernel panic occurs
|
||||
or PSW restart is triggered.
|
||||
|
||||
The following keywords can be used in the dumpconf file:
|
||||
|
||||
.TP
|
||||
\fB - ON_PANIC:\fR
|
||||
Shutdown action in case of a kernel panic or a PSW restart. Possible values
|
||||
are 'dump', 'reipl', 'dump_reipl', 'stop' and 'vmcmd':
|
||||
.br
|
||||
|
||||
dump: Trigger dump according to the configuration in /etc/sysconfig/dumpconf.
|
||||
.br
|
||||
|
||||
reipl: Trigger re-IPL according to the configuration under /sys/firmware/reipl.
|
||||
.br
|
||||
|
||||
dump_reipl: First trigger dump according to the configuration in
|
||||
/etc/sysconfig/dumpconf, then trigger re-IPL according to the configuration
|
||||
under /sys/firmware/reipl.
|
||||
.br
|
||||
|
||||
stop: Stop Linux and enter disabled wait (default).
|
||||
.br
|
||||
|
||||
vmcmd: Trigger CP command according to the 'VMCMD_X' configuration in
|
||||
/etc/sysconfig/dumpconf.
|
||||
|
||||
.TP
|
||||
\fB - DUMP_TYPE:\fR
|
||||
Type of dump device. Possible values are 'ccw' and 'fcp'.
|
||||
|
||||
.TP
|
||||
\fB - DEVICE:\fR
|
||||
Device number of dump device.
|
||||
|
||||
.TP
|
||||
\fB - WWPN\fR
|
||||
WWPN for SCSI dump device.
|
||||
|
||||
.TP
|
||||
\fB - LUN\fR
|
||||
LUN for SCSI dump device.
|
||||
|
||||
.TP
|
||||
\fB - BOOTPROG:\fR
|
||||
Boot program selector.
|
||||
|
||||
.TP
|
||||
\fB - BR_LBA:\fR
|
||||
Boot record logical block address.
|
||||
|
||||
.TP
|
||||
\fB - VMCMD_1, VMCMD_2 ... VMCMD_8:\fR
|
||||
Up to eight CP commands, which are executed in case of a kernel panic
|
||||
or PSW restart.
|
||||
|
||||
.TP
|
||||
\fB - DELAY_MINUTES:\fR
|
||||
Number of minutes the activation of dumpconf is to be delayed. If this keyword
|
||||
is omitted, the default is zero, which means that
|
||||
dumpconf activates immediately during system startup.
|
||||
Specify a non-zero delay time only if you specified
|
||||
shutdown action "reipl" or "dump_reipl".
|
||||
These actions might cause a reboot loop
|
||||
if the Linux kernel crashes persistently during (or shortly after) each reboot.
|
||||
|
||||
A non-zero delay time causes dumpconf to sleep in the background until the
|
||||
delay time has expired. In this case messages are written to /var/log/messages.
|
||||
By default (DELAY_MINUTES is omitted or zero) dumpconf runs in the foreground
|
||||
and informational messages are written to sysout, while
|
||||
error messages are written to syserr.
|
||||
|
||||
Example: If you specified DELAY_MINUTES=10 and
|
||||
your Linux system crashes within 10 minutes after the reboot,
|
||||
then dumpconf is not yet active and the default action (stop) is triggered.
|
||||
|
||||
.SH COMMANDS
|
||||
.TP
|
||||
\fBstart\fR
|
||||
Enable configuration defined in /etc/sysconfig/dumpconf.
|
||||
|
||||
.TP
|
||||
\fBstop\fR
|
||||
Disable dump configuration.
|
||||
|
||||
.TP
|
||||
\fBstatus\fR
|
||||
Show current configuration.
|
||||
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
\fB-h\fR or \fB--help\fR
|
||||
Print usage information, then exit.
|
||||
|
||||
.TP
|
||||
\fB-v\fR or \fB--version\fR
|
||||
Print version information, then exit.
|
||||
|
||||
.SH PSW Restart
|
||||
PSW Restart can be triggered by the operator under z/VM with the CP
|
||||
command "#cp system restart" and under LPAR on the HMC with
|
||||
"Recovery/PSW Restart".
|
||||
|
||||
.SH EXAMPLES:
|
||||
The following are examples of the /etc/sysconfig/dumpconf file:
|
||||
.br
|
||||
|
||||
#
|
||||
.br
|
||||
# Example configuration for a CCW dump device (DASD)
|
||||
.br
|
||||
#
|
||||
.br
|
||||
ON_PANIC=dump_reipl
|
||||
.br
|
||||
DUMP_TYPE=ccw
|
||||
.br
|
||||
DEVICE=0.0.1234
|
||||
.br
|
||||
DELAY_MINUTES=5
|
||||
.br
|
||||
|
||||
#
|
||||
.br
|
||||
# Example configuration for an FCP dump device (SCSI Disk)
|
||||
.br
|
||||
#
|
||||
.br
|
||||
ON_PANIC=dump
|
||||
.br
|
||||
DUMP_TYPE=fcp
|
||||
.br
|
||||
DEVICE=0.0.2345
|
||||
.br
|
||||
WWPN=0x5005076303004712
|
||||
.br
|
||||
LUN=0x4713000000000000
|
||||
.br
|
||||
BOOTPROG=0
|
||||
.br
|
||||
BR_LBA=0
|
||||
.br
|
||||
|
||||
#
|
||||
.br
|
||||
# Example configuration for CP commands
|
||||
.br
|
||||
#
|
||||
.br
|
||||
ON_PANIC=vmcmd
|
||||
.br
|
||||
VMCMD_1="MESSAGE * Starting VMDUMP"
|
||||
.br
|
||||
VMCMD_2="VMDUMP"
|
||||
.br
|
||||
VMCMD_3="IPL 3456"
|
||||
|
||||
#
|
||||
.br
|
||||
# Example config for re-IPL
|
||||
.br
|
||||
#
|
||||
.br
|
||||
ON_PANIC=reipl
|
||||
.br
|
||||
DELAY_MINUTES=5
|
||||
|
||||
.SH SEE ALSO
|
||||
Linux on System z: Using the Dump Tools
|
||||
37
man/prandom.4
Normal file
37
man/prandom.4
Normal file
@@ -0,0 +1,37 @@
|
||||
.\" Copyright IBM Corp. 2007, 2017
|
||||
.\" s390-tools is free software; you can redistribute it and/or modify
|
||||
.\" it under the terms of the MIT license. See LICENSE for details.
|
||||
.\"
|
||||
.TH PRANDOM 4 "Jan 2007" "s390-tools"
|
||||
|
||||
.SH NAME
|
||||
prandom \- kernel pseudo random number generator device for s390
|
||||
.SH DESCRIPTION
|
||||
The character special file \fI/dev/prandom\fP provides an interface to the
|
||||
pseudo random number generator. The s390 pseudo random number generator uses
|
||||
the hardware accelerated cryptographic assist functions which are integrated
|
||||
in the CPU. \fI/dev/prandom\fP is available starting with the z9 processor.
|
||||
.LP
|
||||
Reading from \fI/dev/prandom\fP is non-blocking. Any amount of data could
|
||||
be read from the device.
|
||||
.LP
|
||||
The s390 pseudo random number generator provides cryptographically secure
|
||||
pseudo random numbers following the algorithm in ANSI X9.17. Entropy is added
|
||||
periodically to the generator to protect against a compromised key.
|
||||
|
||||
.LP
|
||||
.SH CONFIGURATION
|
||||
The \fI/dev/prandom\fP device node is generated by udev while loading the corresponding kernel
|
||||
module or while booting a kernel with the generator built-in. By default
|
||||
\fI/dev/prandom\fP is readable only by root. If it should be readable by every user
|
||||
add the following to /etc/rules.d/50-udev.rules:
|
||||
|
||||
.nf
|
||||
KERNEL=="prandom", MODE="0444", OPTIONS="last_rule"
|
||||
.fi
|
||||
|
||||
.SH FILES
|
||||
/dev/prandom
|
||||
|
||||
.SH SEE ALSO
|
||||
Linux on zSeries: Device Drivers, Features and Commands
|
||||
Reference in New Issue
Block a user