Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
UDP(4)			    Kernel Interfaces Manual			UDP(4)

NAME
       udp -- Internet User Datagram Protocol

SYNOPSIS
       #include	<sys/types.h>
       #include	<sys/socket.h>
       #include	<netinet/in.h>

       int
       socket(AF_INET, SOCK_DGRAM, 0);

DESCRIPTION
       UDP  is a simple, unreliable datagram protocol which is used to support
       the SOCK_DGRAM abstraction for the Internet protocol family.  UDP sock-
       ets are connectionless, and are normally	used with  the	sendto(2)  and
       recvfrom(2)  calls,  though the connect(2) call may also	be used	to fix
       the destination for future  packets  (in	 which	case  the  recv(2)  or
       read(2) and send(2) or write(2) system calls may	be used).

       UDP  address formats are	identical to those used	by TCP.	 In particular
       UDP provides a port identifier in addition to the normal	 Internet  ad-
       dress  format.	Note  that the UDP port	space is separate from the TCP
       port space (i.e., a UDP port may	not be "connected" to a	TCP port).  In
       addition	broadcast packets may be sent (assuming	the underlying network
       supports	this) by using a reserved "broadcast address"; this address is
       network interface dependent.

       Options at the IP transport level may be	 used  with  UDP;  see	ip(4).
       UDP_ENCAP  socket option	may be used at the IPPROTO_UDP level to	encap-
       sulate ESP packets in UDP.  Only	one value is supported	for  this  op-
       tion: UDP_ENCAP_ESPINUDP	from RFC 3948, defined in <netinet/udp.h>.

MIB VARIABLES
       The  udp	 protocol  implements  a  number  of variables in the net.inet
       branch of the sysctl(3) MIB.

       UDPCTL_CHECKSUM	  (udp.checksum) Enable	udp checksums (enabled by  de-
			  fault).

       UDPCTL_MAXDGRAM	  (udp.maxdgram) Maximum outgoing UDP datagram size

       UDPCTL_RECVSPACE	  (udp.recvspace) Maximum space	for incoming UDP data-
			  grams

       udp.log_in_vain	  For all udp datagrams, to ports on which there is no
			  socket  listening,  log the connection attempt (dis-
			  abled	by default).

       udp.blackhole	  When a datagram is received on a port	where there is
			  no socket listening, do not return an	ICMP port  un-
			  reachable   message.	 (Disabled  by	default.   See
			  blackhole(4).)

ERRORS
       A socket	operation may fail with	one of the following errors returned:

       [EISCONN]	  when trying to establish a connection	 on  a	socket
			  which	 already  has  one,  or	 when trying to	send a
			  datagram with	the destination	address	specified  and
			  the socket is	already	connected;

       [ENOTCONN]	  when	trying	to send	a datagram, but	no destination
			  address is specified,	and the	socket	has  not  been
			  connected;

       [ENOBUFS]	  when	the  system runs out of	memory for an internal
			  data structure;

       [EADDRINUSE]	  when an attempt is made to create a  socket  with  a
			  port which has already been allocated;

       [EADDRNOTAVAIL]	  when	an  attempt  is	made to	create a socket	with a
			  network address for which no network	interface  ex-
			  ists.

SEE ALSO
       getsockopt(2),  recv(2),	 send(2),  socket(2),  blackhole(4),  inet(4),
       intro(4), ip(4),	udplite(4)

HISTORY
       The udp protocol	appeared in 4.2BSD.

FreeBSD	13.5		       February	6, 2017				UDP(4)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=udp&sektion=4&manpath=FreeBSD+13.5-RELEASE+and+Ports>

home | help