[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20171201100703.36319d5f@xeon-e3>
Date: Fri, 1 Dec 2017 10:07:03 -0800
From: Stephen Hemminger <stephen@...workplumber.org>
To: netdev@...r.kernel.org
Subject: Fw: [Bug 198055] New: Missing mechanism to find maximum datagram
sizes (mandated by RFC 1122)
Begin forwarded message:
Date: Fri, 01 Dec 2017 15:54:14 +0000
From: bugzilla-daemon@...zilla.kernel.org
To: stephen@...workplumber.org
Subject: [Bug 198055] New: Missing mechanism to find maximum datagram sizes (mandated by RFC 1122)
https://bugzilla.kernel.org/show_bug.cgi?id=198055
Bug ID: 198055
Summary: Missing mechanism to find maximum datagram sizes
(mandated by RFC 1122)
Product: Networking
Version: 2.5
Kernel Version: 4.13.15-300.fc27.x86_64
Hardware: All
OS: Linux
Tree: Mainline
Status: NEW
Severity: high
Priority: P1
Component: Other
Assignee: stephen@...workplumber.org
Reporter: kwyut@...m.de
Regression: No
It's currently impossible to reliably implement an application layer protocol
with UDP sockets in Linux. Applications can retrieve the PMTU from IP_RECVERR
control messages but are unable to account for the variable size of IP and UDP
headers beyond hard-coding a large enough guess.
Relevant section of RFC 1122
4.1.4 UDP/APPLICATION LAYER INTERFACE
The application interface to UDP MUST provide the full services
of the IP/transport interface described in Section 3.4 of this
document. Thus, an application using UDP needs the functions
of the GET_SRCADDR(), GET_MAXSIZES(), ADVISE_DELIVPROB(), and
RECV_ICMP() calls described in Section 3.4. For example,
GET_MAXSIZES() can be used to learn the effective maximum UDP
maximum datagram size for a particular {interface,remote
host,TOS} triplet.
In particular, GET_MAXSIZES() appears to be missing.
--
You are receiving this mail because:
You are the assignee for the bug.
Powered by blists - more mailing lists