Home Man
Today's Posts

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:
Select Section of Man Page:
Select Man Page Repository:

RedHat 9 (Linux i386) - man page for udp (redhat section 7)

UDP(7)				    Linux Programmer's Manual				   UDP(7)

       udp - User Datagram Protocol for IPv4

       #include <sys/socket.h>
       #include <netinet/in.h>
       udp_socket = socket(PF_INET, SOCK_DGRAM, 0);

       This is an implemention of the User Datagram Protocol described in RFC768. It implements a
       connectionless, unreliable datagram packet service.  Packets may be  reordered  or  dupli-
       cated before they arrive. UDP generates and checks checksums to catch transmission errors.

       When  a	UDP socket is created, its local and remote addresses are unspecified.	Datagrams
       can be sent immediately using sendto(2) or sendmsg(2) with a valid destination address  as
       an  argument.   When connect(2) is called on the socket the default destination address is
       set and datagrams can now be sent using send(2) or write(2) without specifying an destina-
       tion address.  It is still possible to send to other destinations by passing an address to
       sendto(2) or sendmsg(2).  In order to receive packets the socket can be bound to an  local
       address	first  by  using bind(2).  Otherwise the socket layer will automatically assign a
       free local port out of the range defined  by  net.ipv4.ip_local_port_range  and	bind  the
       socket to INADDR_ANY.

       All receive operations return only one packet.  When the packet is smaller than the passed
       buffer only that much data is returned, when it is bigger the packet is truncated and  the
       MSG_TRUNC flag is set.  MSG_WAITALL is not supported.

       IP  options may be sent or received using the socket options described in ip(7).  They are
       only processed by the kernel when the appropriate sysctl is enabled (but still  passed  to
       the user even when it is turned off). See ip(7).

       When  the  MSG_DONTROUTE  flag  is set on sending the destination address must refer to an
       local interface address and the packet is only sent to that interface.

       UDP fragments a packet when its total length exceeds the interface MTU (Maximum	Transmis-
       sion Unit).  A more network friendly alternative is to use path MTU discovery as described
       in the IP_PMTU_DISCOVER section of ip(7).

       UDP uses the IPv4 sockaddr_in address format described in ip(7).

       All fatal errors will be passed to the user as an error return even when the socket is not
       connected.  This  includes  asynchronous  errors received from the network. You may get an
       error for an earlier packet that was sent on the same socket.  This behaviour differs from
       many  other  BSD  socket  implementations which don't pass any errors unless the socket is
       connected.  Linux's behaviour is mandated by RFC1122.

       For compatibility with legacy code it is  possible  to  set  the  SO_BSDCOMPAT  SOL_SOCKET
       option to receive remote errors only when the socket has been connected (except for EPROTO
       and EMSGSIZE).  It is better to fix the code to handle errors properly than to enable this
       option.	Locally generated errors are always passed.

       When  the IP_RECVERR option is enabled all errors are stored in the socket error queue and
       can be received by recvmsg(2) with the MSG_ERRQUEUE flag set.

       These ioctls can be accessed using ioctl(2).  The correct syntax is:

	      int value;
	      error = ioctl(tcp_socket, ioctl_type, &value);

	      Gets a pointer to an integer as argument. Returns the  size  of  the  next  pending
	      datagram in the integer in bytes, or 0 when no datagram is pending.

	      Returns the number of data bytes in the local send queue. Only supported with Linux
	      2.4 and above.

       In addition all ioctls documented in ip(7) and socket(7) are supported.

       All errors documented for socket(7) or ip(7) may be returned by a send or receive on a UDP

       ECONNREFUSED  No  receiver  was	associated  with  the destination address.  This might be
       caused by a previous packet sent over the socket.

       IP_RECVERR is a new feature in Linux 2.2

       This man page was written by Andi Kleen.

       ip(7), socket(7), raw(7)

       RFC768 for the User Datagram protocol.
       RFC1122 for the host requirements.
       RFC1191 for a description of path MTU discovery.

Linux Man Page				    1998-10-02					   UDP(7)

All times are GMT -4. The time now is 10:00 PM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
Show Password