Hi Joseph,
Please, show any except (or section number) from any RFC that push vendor to 
use 1500B buffer for reassembly in the data plane on the transit node? (or any 
other number on the transit node)
Please, show any evidence (or just claim if you could not disclose) that any 
vendor has 1500B (or less) for reassembly in the data plane (on transit node).
Please, show the evidence that the fragmentation problem exists.

All your discussions for EMTU_R are not relevant – it is for *host* reassembly 
buffer.
Data Plane on the transit node has not been regulated before – It was not 
needed. Vendors have chosen big enough numbers that did not affect anybody so 
far.
It was effectively 1 MTU restriction per 1 virtual interface, not 2.

I do not accept this:
That’s just the case where pathMTU == EMTU_R.
That means the EMTU_R is not needed *in practice*, but in principle it still 
exists.
If particular tunneling technology does not have a reassembly buffer (reject 
fragmentation in principle) – we could not talk about it like it exists.
If you would look to microcode – you would not find it. We could go very far 
with such logic.

Eduard
From: Joseph Touch [mailto:[email protected]]
Sent: Tuesday, March 23, 2021 5:59 PM
To: Vasilenko Eduard <[email protected]>
Cc: [email protected]; int-area <[email protected]>
Subject: Re: Proxy function for PTB messages on the tunnel end




On Mar 23, 2021, at 2:18 AM, Vasilenko Eduard 
<[email protected]<mailto:[email protected]>> wrote:

Hi Joseph,
I still do not understand why you believe that any tunnel has a second MTU 
restriction now.

All tunnels - like all links, have both:
            - a largest message that can traverse the internal hops of that link
            - a largest message that can be reassembled at the egress of that 
link

These are generally referred to as “path MTU” and “EMTU_R” for IP.

The rest of your logic is based on this assumption that I do understand how you 
come to it. But the rest does not make sense to discuss if the initial 
assumption is not right.
1.       It could not be the case for tunneling that does not support 
fragmentation (L2TPv3, MPLS, VxLAN). Fragmentation buffer is just not needed in 
principle. Second restriction is not needed in principle.

That’s just the case where pathMTU == EMTU_R.

That means the EMTU_R is not needed *in practice*, but in principle it still 
exists.


2.       Reassembly buffer is needed for tunneling that does support 
fragmentation (NVO3, IPv6 GRE). But under no circumstances it should have any 
relationship to EMTU_R developed for TCP stack on the host. Vendors have chosen 
this fragmentation buffer always much bigger than maximum MTU for not to have 
another reason for fragmentation.

EMTU_R is the IP reassembly buffer, as defined in RFC1122; it is not developed 
for TCP.

Vendors (and protocol designers) set EMTU_R > pathMTU so that fragmentation 
allows recursive tunneling (IPv4-in-IPv4, IPv6-in-IPv6). If they are equal, 
then you can never have direct recursive tunneling (you need a shim layer that 
creates a separate tunnel with fragmentation and reassembly).

For IPv4, min EMTU_R is 576 and min pathMTU is 68.
For IPv6, min EMTU_R is 1500 and min pathMTU is 1500.

These are different for a reason.


That’s it – no second MTU restriction to pay attention to. It is the reason why 
this is not documented in any vendor’s documentation: no problem – no need to 
document.

RFC791 and RFC 2460 (and 8200) all define these.

But you have assumed that vendors did always have fragmentation buffer with 
limited size related to EMTU_R. It is just not the case. Data Plane has no TCP 
stack to inherit TCP restrictions.

EMTU_R is the end-of-path reassembly. Vendors all implement this for packets 
terminating at routers. Vendors should (MUST) also implement this for tunnels 
that egress at the router; some do, some have an *implementation error* if they 
do not.


Again: the current standards and implementations have only 1 MTU restriction 
per tunnel.

Any tunnel where pathMTU == EMTU_R cannot be used to tunnel over itself. That 
is a standards and implementation flaw, not a feature.

It does permit to inform the host about oversized packets (by PTB).

PTB means only “I *cannot* deliver packets this big”, not “if you send me 
packets that are smaller, I won’t have to fragment them over tunnels. If you 
can fragment over tunnels, you CAN deliver packets that big and sending PTB 
would be incorrect.


draft-ietf-intarea-tunnels proposes new solutions with 2 MTU restrictions per 
tunnel (small/restricted reassembly buffer size and MTU on the tunnel path) 
that pushes for fragmentation between these restrictions.

Draft-tunnels describes what already exists, in terms that allow us to have 
conversations about these properties.

It describes how current ICMP messages are insufficient to support your 
tunneling concerns.

Joe
_______________________________________________
Int-area mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/int-area

Reply via email to