Section 11.4 (Fragmentation) requires that if an instance of FRAG with a valid length (10 or 12, or possibly 12 or 14, if the extended length format is used) occurs when UDP Length > 8, then the entire option area is considered malformed and is discarded. I wanted to note that these instructions, combined with those in Section 10, have the following implications for some other corner cases:
A FRAG option with a length other than 10 or 12 (or 12 or 14, for extended length format) is treated as an unknown option and is ignored on receipt (i.e., skipped over), as long as the length is not impossible (less than 2 for a normal length or 4 for an extended length, or pointing past the end of the option area). This applies of whether or not UDP Length == 8.
If there are multiple occurrences of otherwise valid FRAG options when UDP Length == 8, only the first one is processed; the remaining ones are ignored and skipped over.
IMO the behavior described above, if it is indeed a correct interpretation of the spec, is fine. I just wanted to get confirmation that this is indeed the intent of the spec (or if it isn't, to get clarification on what the intent is).
Section 11.4 (Fragmentation) requires that if an instance of FRAG with a valid length (10 or 12, or possibly 12 or 14, if the extended length format is used) occurs when UDP Length > 8, then the entire option area is considered malformed and is discarded. I wanted to note that these instructions, combined with those in Section 10, have the following implications for some other corner cases:
A FRAG option with a length other than 10 or 12 (or 12 or 14, for extended length format) is treated as an unknown option and is ignored on receipt (i.e., skipped over), as long as the length is not impossible (less than 2 for a normal length or 4 for an extended length, or pointing past the end of the option area). This applies of whether or not UDP Length == 8.
If there are multiple occurrences of otherwise valid FRAG options when UDP Length == 8, only the first one is processed; the remaining ones are ignored and skipped over.
IMO the behavior described above, if it is indeed a correct interpretation of the spec, is fine. I just wanted to get confirmation that this is indeed the intent of the spec (or if it isn't, to get clarification on what the intent is).