Closed Mike-Heard closed 3 months ago
Multiple occurrences of FRAG should probably cause a drop; not sure that applies to other options, but it would for FRAG.
Multiple occurrences of FRAG should probably cause a drop; not sure that applies to other options, but it would for FRAG.
That problem is fixed in editor's version of -33. See Issue #51 for the text.
The remainder of the initial comments (about which version of a per-frag options to keep) are withdrawn. The text concerning with those matters will remain as-is, and this issue is hereby closed.
In Section 10 I see:
The "first instance only" rule is not respected in the existing instructions on what to do with per-fragment instances of MDS, MRDS, REQ, RES, and TIME (see sections 11.5 through 11.8). The instructions for MDS and MRDS recommend reporting the minimum value received; the instructions for REQ and RES recommend reporting the the most recent i.e., last) value received; and the instructions for TIME recommend reporting the minimum and maximum values without specifying what value should be reflected to the remote end (if the values in question are TSVALs). And none of these instructions are explicit about what to do if one of these options is received both in a fragment and in the surplus area of the corresponding reassembled UDP packet.
The main use that I see for allowing MDS, MRDS, REQ, RES, and TIME on UDP fragments (including atomic ones) is "to provide limited support for UDP options in systems that have access to only the initial portion of the data in incoming or outgoing packets," as noted near the end of Section 11.4. For that use case, it would IMO suffice to stipulate that the first instance received is the one reported to the upper layer, thus sustaining the text quoted above, and I recommend that the per-frag text in sections 11.5 through 11.8 be modified accordingly.