| User Datagram Protocol (UDP)Description: OpenSS7 Project Manual Pages Internet Protocol IP TransportUDPSection: OpenSS7 INET Networking Devices (4)Updated: 2008-10-31 Index Return to Main Contents NAMEudp, udp2, arp, rip - User Datagram Protocol StreamSYNOPSIS#include <sys/socket.h>
DESCRIPTIONUDP
UDP is implemented as a STREAMS(4) pseudo-device driver using the INET(4) strinet package for Linux Fast-STREAMS[2]. The strinet package translates Linux native udp(7) sockets into TPI[3] transport provider Streams suitable for use with XTI[4, 5], (see xti(3)). UDP2 (the second generation UDP driver) differs from UDP largely in internal implementation. UDP2 accesses the IP layer of Linux directly, rather than opening a socket internal to the kernel. UDP provides one connectionless TPI Stream type. To select the Stream, udp_device can be one of the following:
UDP2 provides one connectionless or pseudo-connection-oriented TPI Stream type. To select the Stream, udp_device can be one of the following:
UDP provides one socket type for use by the sockets(3) library socket(7) calls. UDP provides sockets in the protocol families PF_INET and PF_INET6 using the protocol number IPPROTO_UDP. The socket_type can be one of the following:
USAGEThe following entries in /etc/protosw provides the information for socksys(4) to use the devices:
For additional information, see socksys(4) and protosw(5). IOCTLSAll interfaces support a set of management IO controls using ioctl(2) and streamio(7) I_STR system calls on the udp_stream, udp_xtistr or udp_socket. These management controls are described in timod(4), sockmod(4) and socksys(4). See also udp(7) for sockets. NOTICESUDP has several implementations. This manpage is for the INET(4) implementation that provides tpi(7) access to the Linux NET4 version of UDP. For more information on the Linux NET4 version, see udp(7). IMPLEMENTATIONThere are now two STREAMS implementations for udp: UDP and UDP2. These implementations differ as follows:
The UDP implementation is the traditional one for the OpenSS7 INET Networking package. UDP2 was an afterthought. One of the reasons for implementing a separate UDP2 driver was to be able to do performance comparisons between the two approaches. Also, using the UDP2 driver, it is possible to make fair performance (throughput, latency, CPU occupancy) comparisons between the NET4 Linux sockets implementation of udp and the STREAMS implementation. It was intended that the netperf(1) package be used to provide performance histogram comparisons between the two implementations. It may seem like a lot of trouble to go to, however, lkml (Linux Kernel Mailing List) has made some very strong (and unsupported in the author's opinion) statements regarding the performance of STREAMS and that of sockets for Internet protocols. Performance tests of this nature could dis-spell those rumours. FILES<sys/socket.h>, <netinet/udp.h>, <sys/tpi.h>, <sys/tpi_ip.h>, <sys/tpi_udp.h>, <sys/xti.h>, <sys/xti_ip.h>, <sys/xti_udp.h>. DEVICES/dev/udp, /dev/inet/udp, /dev/streams/inet/udp, /dev/udp2, /dev/streams/udp. SEE ALSOINET(4), ioctl(2), ip(7), STREAMS(9), protosw(5), socket(7), sockets(3), sockmod(4), socksys(4), STREAMS(4), udp(7), udp_ioctl(4), timod(4), tpi(7), tpi_ip(7), tpi_udp(7), xnet(3), xti(3), xti_ip(3), xti_udp(3). BUGSUDP2 has no known bugs. UDP has the known bug that it cannot receive zero length messages (but it can send them). COMPATIBILITYThe OpenSS7 INET Networking implementation of UDP for STREAMS is largely compatible with STREAMS-based implementations such as Lachman or Mentat TCP/IP stacks and Solaris® documentation[6]. CONFORMANCEXNS 5.2[5]. Conformance is validated using the test-inet_udp(8) validation test suite executable. HISTORYstrinet 0.8.2 was released in 2002 and was since part of the Linux STREAMS (LiS)[7] package, and is now part of Linux Fast-STREAMS[2]. The second generation driver was completed in 2006. The first generation driver was upgraded significantly in strinet 0.9.2.7 release in 2008. REFERENCES
TRADEMARKS
Other trademarks are the property of their respective owners. IDENTIFICATION
Copyright©1997-2008OpenSS7 Corp.
All Rights Reserved.
Index
This document was created by man2html, using the manual pages. Time: 13:10:24 GMT, December 12, 2024 | |||||||||||||||||||||||||||||||||||
Last modified: Sun, 05 Mar 2006 08:34:25 GMT Copyright © 2014 OpenSS7 Corporation All Rights Reserved. |