Re: [Editorial Errata Reported] RFC3931 (2766)

Teco Boot <[email protected]> Fri, 22 Apr 2011 10:27:20 +0200
Newsgroups gmane.ietf.l2tpext
Message-ID <[email protected]>
Hello Carlos,

Thanks clearing this up. I agree on your argumentation that text already
is clear that IPv4 packets with DF=1 shall not be fragmented. That is why
I used type Editorial.
But others used this RFC as example that fragmenting DF=1 packets is legal.

Thanks, Teco


Op 22 apr 2011, om 06:08 heeft Carlos Pignataro het volgende geschreven:

> Hi,
> 
> Please find an initial comment on this erratum, my 2ยข as an individual:
> 
> I appreciate the need to precision, and just followed the discussion
> about DF and ip.ident, in Int-area.
> 
> However, I do not agree with the interpretation that supports this
> change, and I have a different read of the second para of S4.1.4 of RFC
> 3931. The text in question says:
> 
>   For
>   example, if an IPv4 packet arrives at an LCCE from a Remote System
>   that, after encapsulation with its associated framing, L2TP, and IP,
>   does not fit in the available path MTU towards its LCCE peer, the
>   local LCCE may perform IPv4 fragmentation on the packet before tunnel
>   encapsulation.
> 
> And the key here is "the local LCCE may perform IPv4 fragmentation".
> Performing IPv4 fragmentation does not imply that the result is
> fragmenting a datagram (or a fragment). The result of the fragmentation
> procedure can just be check the DF and discard.
> 
> When RFC 791 describes the fragmentation procedures, the first step is
> to compare the TL with the MTU, and if the TL > MTU then check the DF,
> and discard the datagram if DF is set. That is, check DF and discard is
> part of the "fragmentation procedure". This means that "perform IPv4
> fragmentation" can be: if the datagram is too big for the tunnel, then
> check DF and if set then drop and send an ICMP3/4 to the source (with a
> Next-Hop MTU that accounts for the tunnel encap). I am aware of
> implementations that work like this. And this allows for PMTUD to work
> as if the tunnel is just another link.
> 
> Excerpts of RFC 791 that support this are:
> 
>    An Example Fragmentation Procedure
> 
>      Procedure:
> 
>        IF TL =< MTU THEN Submit this datagram to the next step
>             in datagram processing ELSE IF DF = 1 THEN discard the
>        datagram ELSE
>        To produce the first fragment:
> 
> 
> The paragraph of RFC3931 describes pre-fragmentation (i.e.,
> fragmentation before encapsulation). This is further covered in the
> later S3.4 of RFC 4459:
> 
> http://tools.ietf.org/html/rfc4459#section-3.4
> 
> 3.4.  Fragmentation of the Inner Packet
> 
>   A final possibility is fragmenting the inner packet, before
>   encapsulation, in such a manner that the encapsulated packet fits in
>   the tunnel's path MTU (discovered using PMTUD).  However, one should
>   note that only IPv4 supports this "in-flight" fragmentation;
>   furthermore, it isn't allowed for packets where the Don't Fragment
>   bit has been set.  Even if one could ignore IPv6 completely, so many
>   IPv4 host stacks send packets with the DF bit set that this would
>   seem unfeasible.
> 
> Based on this, I'd recommend rejecting this erratum.
> 
> Thanks,
> 
> -- Carlos.
> 
> On 4/4/2011 10:19 AM, RFC Errata System wrote:
>> 
>> The following errata report has been submitted for RFC3931,
>> "Layer Two Tunneling Protocol - Version 3 (L2TPv3)".
>> 
>> --------------------------------------
>> You may review the report below and at:
>> http://www.rfc-editor.org/errata_search.php?rfc=3931&eid=2766
>> 
>> --------------------------------------
>> Type: Editorial
>> Reported by: Teco Boot <[email protected]>
>> 
>> Section: 4.1.4
>> 
>> Original Text
>> -------------
>>   An LCCE MAY fragment a packet before encapsulating it in L2TP.  For
>>   example, if an IPv4 packet arrives at an LCCE from a Remote System
>>   that, after encapsulation with its associated framing, L2TP, and IP,
>>   does not fit in the available path MTU towards its LCCE peer, the
>>   local LCCE may perform IPv4 fragmentation on the packet before tunnel
>>   encapsulation. 
>> 
>> Corrected Text
>> --------------
>>   An LCCE MAY fragment a packet before encapsulating it in L2TP.  For
>>   example, if an IPv4 packet with DF=0 arrives at an LCCE from a Remote System
>>   that, after encapsulation with its associated framing, L2TP, and IP,
>>   does not fit in the available path MTU towards its LCCE peer, the
>>   local LCCE may perform IPv4 fragmentation on the packet before tunnel
>>   encapsulation. 
>> 
>> Notes
>> -----
>> Following RFC 791, IPv4 packets with the DF flag set shall not fragment such packets. RFC 3931 shall not make a precedent for fragmenting IPv4 packets with DF=1.
>> 
>> Instructions:
>> -------------
>> This errata is currently posted as "Reported". If necessary, please
>> use "Reply All" to discuss whether it should be verified or
>> rejected. When a decision is reached, the verifying party (IESG)
>> can log in to change the status and edit the report, if necessary. 
>> 
>> --------------------------------------
>> RFC3931 (draft-ietf-l2tpext-l2tp-base-15)
>> --------------------------------------
>> Title               : Layer Two Tunneling Protocol - Version 3 (L2TPv3)
>> Publication Date    : March 2005
>> Author(s)           : J. Lau, Ed., M. Townsley, Ed., I. Goyret, Ed.
>> Category            : PROPOSED STANDARD
>> Source              : Layer Two Tunneling Protocol Extensions
>> Area                : Internet
>> Stream              : IETF
>> Verifying Party     : IESG
>> _______________________________________________
>> L2tpext mailing list
>> [email protected]
>> https://www.ietf.org/mailman/listinfo/l2tpext
>>