Subject: Fragmentation in RFC-3032

From: Shahram Davari <[email-masked]>
Date: Wed, 25 Apr 2001 08:34:50 -0700

Hi all,

There seems to be an error in RFC-3032:

"3.4. Processing Labeled IPv4 Datagrams which are Too Big
 If a labeled IPv4 datagram is "too big", and the DF bit is not set in its IP header, then the LSR MAY silently discard the datagram. ...
 If the LSR chooses not to discard a labeled IPv4 datagram which is too big, or if the DF bit is set in that datagram, then it MUST execute the following algorithm:"
It seems that the first sentence should read " and if DF bit is set", and the second sentence should read " if DF bit is not set". 
right?
I also have a question regarding MPLS packet that are not transporting IP packets. Is any fragmentation done or the packet is silently discarded?

Yours,
Shahram Davari
Systems Engineer
Internet Routing Division
PMC-Sierra, Inc. (Ottawa)
Phone: (613) 271-4018
Fax:    (613) 271-7007
 <<Shahram Davari.vcf>>

---

From: Jack Brennen <[email-masked]>
Date: Wed, 25 Apr 2001 12:12:50 -0400

> It seems that the first sentence should read " and if DF bit is set", and the second sentence should read " if DF bit is not set".

No, the RFC is correct.  Specifically, the behavior that is mandated
by the RFC is to generate an ICMP message if an IPv4 packet is too
large and the DF bit is set.  Silently discarding an IPv4 packet which
has the DF bit set is not an allowable action.

---

From: Eric Gray <[email-masked]>
Date: Wed, 25 Apr 2001 12:21:33 -0400

Shahram,

    In addition to what Jack says below, the intent is to specifically
allow implementations to silently discard packets it might otherwise
be expected to fragment.

---

From: David Charlap <[email-masked]>
Date: Wed, 25 Apr 2001 14:05:51 -0400

> allow implementations to silently discard packets it might otherwise

More specifically, some hardware (especially legacy ATM hardware) may be
incapable of performing IP fragmentation.  These same boxes may also be
incapable of generating ICMP messages.

If a too-large packet arrives at such a box, it has no choice but to
drop it.

Ideally, the LER that admits the packet into the LSP should check the
size and fragment (or generate ICMP if DF is set) to the LSP's MTU size
(that is, the mimimum MTU of all the routers along the LSP).  But this
may not always be possible - not all signaling protocols report the
LSP's MTU to the ingress router.

Hence the RFC, which allows LSRs to either fragment or discard too-large
packets that don't have DF set.

-- David

---

From: Ben Black <[email-masked]>
Date: Wed, 25 Apr 2001 11:21:00 -0700

> packets that don't have DF set.

And forces LSRs to manipulate the payload of labelled packets.  Laughable
arguments that MPLS is just an extension of IP aside, there is no excuse
for this requirement.  This is an edge function and has no business in
a label switch.

Ben

---

From: Eric Gray <[email-masked]>
Date: Wed, 25 Apr 2001 14:34:06 -0400

David,

    Correct me if I'm wrong (or feel free to correct me if
I'm right ... again), but ATM switches switching ATM
cells have no way to know if an IP packet that extends
over multiple cells is "too long".

    I believe this determination would be made by that
ATM switch saddled with SAR responsibility.  If that is
the case, why would that ATM switch be intrinsically in-
capable of fragmenting IP packets?

--
Eric Gray