Reliable Datagram Sockets (RDS) is a high-performance, low-latency, reliable, connectionless protocol for delivering datagrams. It is developed by Oracle Corporation. It was included in the Linux kernel 2.6.30 which was released on 9 June 2009. The code was contributed by the OpenFabrics Alliance (OFA). On October 19, 2010, VSR announced CVE-2010-3904, a vulnerability within the Linux 2.6.30 kernel which could result in a local privilege escalation via the kernel's implementation of RDS. This was subsequently fixed in Linux 2.6.36. On May 8, 2019, CVE-2019-11815 was published, regarding a race condition in the Linux RDS implementation that could lead to a use-after-free bug and possible arbitrary code execution. The bug has been fixed in Linux 5.0.8.
Header
Sequence (h_sequence): 64 bits The sequence number. Acknowledge (h_ack): 64 bits The sequence number of last received message. Length (h_len): 32 bits The length of the message payload. Source Port (h_sport): 16 bits Identifies the sending port. Destination Port (h_dport): 16 bits Identifies the receiving port. Flags (h_flags): 8 bits Described below. Credits (h_credit): 8 bits Credits given (used for credit-based flow control). Padding (h_padding): 32 bits Padding for 64-bit struct alignment. Checksum (h_csum): 16 bits 1's complement header checksum. Extension Header (h_exthdr): 128 bits Optional extension header space.
See also Transmission Control Protocol Stream Control Transmission Protocol User Datagram Protocol UDP-Lite
References
External links Oss.oracle.com Archived 2023-02-03 at the Wayback Machine Oss.oracle.com Archived 2021-02-28 at the Wayback Machine https://oss.oracle.com/projects/rds/dist/documentation/rds-3.1-spec.html
