sdp man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

sdp(7D)				    Devices			       sdp(7D)

NAME
       sdp - Sockets Direct Protocol driver

SYNOPSIS
       #include <socket.h>

       #include <netinet/in.h>

       s = socket(AF_INET, SOCK_STREAM, PROTO_SDP);

       s = socket(AF_INET6, SOCK_STREAM, PROTO_SDP);

DESCRIPTION
       The  Sockets Direct Protocol (SDP) is a transport protocol layered over
       the Infiniband Transport Framework (IBTF). SDP is a standard  implemen‐
       tation  based  on  Annex 4 of the Infiniband Architecture Specification
       Vol 1 and provides reliable byte-stream, flow controlled	 two-way  data
       transmission  that  closely  mimics  the	 Transmission Control Protocol
       (TCP).

       SDP supports a sockets-based SOCK_STREAM interface to application  pro‐
       grams. It also supports graceful close (including half-closed sockets),
       IP addressing (IPv4 or IPv6), the connecting/accepting  connect	model,
       out-of-band (OOB) data and common socket options. The SDP protocol also
       supports kernel bypass data transfers and  data	transfers  from	 send-
       upper-layer-protocol  (ULP)  buffers to receive ULP buffers. A SDP mes‐
       sage includes a BSDH header followed by data. (A BSDH header advertises
       the amount of available buffers on the local side).

       SDP  networking functionality is broken into the sdp driver and a func‐
       tion  call-based	 sockfs	 implementation.  A  new  protocol  family  of
       PROTO_SDP  is  introduced  to  use  the	SDP  transport provided by the
       driver.

       Sockets utilizing SDP are either active or passive. Active sockets ini‐
       tiate  connections  to passive sockets. Both active and passive sockets
       must have their local IP or IPv6 address and SDP port number bound with
       the  bind(3SOCKET) system call after the socket is created. By default,
       SDP sockets are active. A passive socket is created by calling the lis‐
       ten(3SOCKET)  system  call  after  binding the socket with bind(). This
       process establishes a queueing parameter for the passive	 socket.  Con‐
       nections	  to   the   passive	socket	 can   be  received  with  the
       accept(3SOCKET) system call. Active sockets  use	 the  connect(3SOCKET)
       call after binding to initiate connections.

       In  most	 cases,	 SDP sends data when it is presented. When outstanding
       data is not yet acknowledged, SDP gathers small amounts of output to be
       sent  in	 a  single   packet once an acknowledgement is received. For a
       small number  of	 clients  this	packetization  may  cause  significant
       delays.	To  circumvent	this problem,  SDP provided by the driver sup‐
       plies SDP_NODELAY, a socket-level boolean option. Note that this behav‐
       ior is similar to the TCP_NODELAY option.

       SDP  provides  an  urgent  data mechanism that can be invoked using the
       out-of-band provisions  of   send(3SOCKET).  The	 out-of-band  delivery
       behavior	 is identical to TCP. The caller may mark one byte as "urgent"
       with the	 MSG_OOB  flag to send(3SOCKET). This sets an "urgent pointer"
       pointing	 to  the byte in the SDP stream. The receiver of the stream is
       notified of  the	 urgent	 data  by  a  SIGURG  signal.  The  SIOCATMARK
       ioctl(2)	 request  returns  a value indicating whether the stream is at
       the urgent mark. Because the  system  never  returns  data  across  the
       urgent  mark in a single read(2) call, it is possible to advance to the
       urgent data in a simple loop which reads	 data,	testing	  the	socket
       with the SIOCATMARK  ioctl() request until it reaches the mark.

ADDRESS FORMATS
       SDP  uses   IP/IPv6  addresses to refer to local and remote devices and
       opens a reliable connected IB connection between two  end  points.  The
       sdp  driver  supports a point-to-point connection, however broadcasting
       and multicasting are not supported.

SOCKET OPTIONS
       SDP supports setsockopt and getsockopt to set and read socket  options.
       Very  few  socket  options affect SDP protocol operations. Other common
       socket options are  processed but do not affect	SDP  protocol	opera‐
       tion. All socket options are checked for validity. A getsockopt returns
       the values set or toggled by setsockopt.	 Socket	 options  that	affect
       protocol operations are SO_LINGER, SO_DEBUG, SO_REUSEADDR and SO_OOBIN‐
       LINE.

ERRORS
       EISCONN			   A connect() operation was  attempted	 on  a
				   socket  on  which a connect() operation had
				   already  been performed.

       ECONNRESET		   The remote peer forced the connection to be
				   closed. This usually occurs when the remote
				   machine loses state information  about  the
				   connection due to a crash.

       ECONNREFUSED		   The remote peer actively refused connection
				   establishment. This usually occurs  because
				   no process is listening to the port.

       EADDRINUSE		   A  bind()  operation	 was  attempted	  on a
				   socket with	a  network  address/port  pair
				   that	 has  already  been  bound  to another
				   socket.

       EADDRNOTAVAIL		   A  bind()  operation	 was  attempted	 on  a
				   socket  with a network address for which no
				   network interface exists.

       EACCES			   A bind() operation was  attempted  with   a
				   reserved port number and the effective user
				   ID of the process was  not  the  privileged
				   user.

       ENOBUFS			   The	system	ran out of memory for internal
				   data structures.

FILES
       /kernel/drv/sdp

	   32-bit ELF kernel module (x86).

       /kernel/drv/amd64/sdp

	   64-bit ELF kernel module (x86).

       /kernel/drv/sparcv9/sdp

	   64-bit ELF kernel module (SPARC).

       /kernel/drv/sdpib

	   32-bit ELF kernel module (x86).

       /kernel/drv/amd64/sdpib

	   64-bit ELF kernel module (x86).

       /kernel/drv/sparcv9/sdpib

	   64-bit ELF kernel module (SPARC).

ATTRIBUTES
       See attributes(5) for descriptions of the following attribute:

       ┌─────────────────────────┬─────────────────────────────────┐
       │     ATTRIBUTE TYPE	 │	   ATTRIBUTE VALUE	   │
       ├─────────────────────────┼─────────────────────────────────┤
       │Architecture		 │ x86, SPARC			   │
       ├─────────────────────────┼─────────────────────────────────┤
       │Availability		 │ SUNWibsdp, SUNWibsdp		   │
       └─────────────────────────┴─────────────────────────────────┘

SEE ALSO
       read(2),	   getsockopt(3XNET),	 socket.h(3HEAD),     accept(3SOCKET),
       bind(3SOCKET),  connect(3SOCKET),  send(3SOCKET),  attributes(5), stan‐
       dards(5)

       Infiniband Architecture Specification Vol 1- Annex 4 — November, 2002

SunOS 5.10			  13 Nov 2006			       sdp(7D)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net