Subject: [AVT] draft-ietf-avt-evrc-07: Exceed Max MTU

From: Randall Gellens <[email-masked]>
Date: Wed, 29 Aug 2001 14:39:36 -0700

Previous versions of the draft specified "MUST not bundle more 
CODEC data frames in a single RTP packet than will fit in the MTU 
of the RTP transport protocol".  The MUST has been changed to a 
SHOULD, as I understand it because it is difficult to discover the 
MTU when using UDP (as opposed to TCP).

I think changing the MUST to a SHOULD is not the best way of 
dealing with the issue.

Using SHOULD instead of MUST means (from RFC 2119) "that there may 
exist valid reasons in particular circumstances to ignore a 
particular item, but the full implications must be understood and 
carefully weighed before choosing a different course."

Using SHOULD therefore implies that, if the MTU is known, there be 
valid reasons for exceeding it.  This is different from saying that 
the MTU may not be known, and therefore can't be complied with.

If we want to say that it may be difficult to discover the MTU, 
then we should say that.

For example, "While it can be difficult for an implementation to 
discover the MTU when sending UDP packets or using certain other 
transports, to the extent that it is possible to know a usual or 
normal value, an implementation MUST NOT bundle more CODEC data 
frames in a single RTP packet than will fit in the MTU, provided at 
least one data frame fits in the MTU."

Or, something like "To the greatest extent possible, an 
implementation MUST avoid sending RTP packets which exceed the MTU 
of the underlying transport.  Exceeding the MTU risks compounding 
packet loss by forcing the recipient to discard packets which 
managed to make it through."

_______________________________________________
Audio/Video Transport Working Group
[email-masked]
http://www1.ietf.org/mailman/listinfo/avt

---

From: Colin Perkins <[email-masked]>
Date: Wed, 29 Aug 2001 21:28:19 -0400

The draft cannot say "MUST" because there are some circumstances when the
MTU cannot be known (e.g. when using multicast). I believe SHOULD is the
correct wording.

Colin

---

From: Randall Gellens <[email-masked]>
Date: Wed, 29 Aug 2001 18:56:35 -0700

>  MTU cannot be known (e.g. when using multicast). I believe SHOULD is the

That misses my point.

Using SHOULD implies that, to the extent that the MTU is known, there 
may be valid reasons for exceeding it.  This is different from saying 
that the MTU may not be known, and therefore might be unintentionally 
exceeded.

---

From: Colin Perkins <[email-masked]>
Date: Thu, 30 Aug 2001 08:49:34 -0400

>>  MTU cannot be known (e.g. when using multicast). I believe SHOULD is the

No, I just disagree with your conclusion. 

>that the MTU may not be known, and therefore might be unintentionally 

Using SHOULD means that we strongly recommend that you do not exceed the
MTU, but in rare cases it may happen. The implication is that receivers
must not fail if they receive a fragmented packet, because there are valid
cases when this can happen. 

SHOULD is the correct wording, as used in the other payload formats.

Colin