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
