Subject: [Fwd: Re: [MBONED] WGLC for <draft-ietf-mboned-auto-multicast-08.txt> - UDP checksum?]

From: Gorry Fairhurst <[email-masked]>
Date: Tue, 27 Nov 2007 21:44:00 +0000

Thanks,

See in-line.

Dino Farinacci wrote:
>> The UDP checksum is the primary way of validating correct endpoint
>> selection - i.e. this endpoint on this host was the intended 
>> recipient. This is needed to offer some basic protection to the 
>> receiving stack at whichever host this packet is finally delivered to 
>> (even if corrupted and/or mis-routed - albeit with 1/64k chance of a 
>> mistake). Setting it to zero can lead to other hosts/apps receiving 
>> packets with errors or the wrong payload - although they may not 
>> expect to receive these, nor have any way of detecting this.
> 
> First off the AMT UDP encapsulation is an outer header, used between the 
> Relay and Gateway. 
>
> The multicast data within is protected.
>
Providing it uses a UDP checksum, yes, but that's not the issue.

> Second, all AMT control traffic is UDP checksum protected. 
>
Agreed.

> Only the Data 
> Message is not because we don't want AMT Relays to have to checksum the 
> entire packet at forwarding time. It is actually impractical to do so 
> and is not necessary. There is CRC support most likely on every data 
> link between the Relay and the Gateway, so if there are bit errors, the 
> packet is dropped by an intermediate framer along the path.
> 
I am not sure what you mean by impractical to conform to RFC2460.

The case you cite does not address the issue of datagrams that arrive at
an endpoint that is different to that which the source intended (as above).

> So I think it is in everyone's best interest to require AMT Data 
> Messages to be transmitted with a UDP checksum of 0. And hence, why the 
> spec reflects this.
>
> Dino
> 

Best wishes,

Gorry

--------------------- previous mail (so I do not forget) -------------

---
1) In section  6.1:
"The UDP checksum MUST be valid in AMT control messages."
- Agreed, but what does valid mean? (This is echoed in 6.2, 6.3, 6.4)

I would expect that the transport-layer checksum is the responsibility
of the transport layer. All stacks MUST set a valid UDP checksum on
transmission and MUST reject datagrams that do not have a valid checksum
on reception.
---
2) I do not agree with section 6.6 for IPv4:
"The UDP checksum SHOULD be 0 in the AMT IP Multicast Data message."

In the case of IPv4, this is not good practice. It would be bad practice
to encourage widespread deployment of a new protocol that disables the
UDP Checksum. I think the tunnel SHOULD enable UDP checksums, as in
[draft-ietf-tsvwg-udp-guidelines-04.txt].
---
3) The above recommendation in section 6.6 goes against the design
rationale for IPv6, a Draft Standard (RFC2460), and seeks to update it.
This is inappropriate. IPv6 applications MUST enable UDP checksums
(there is no option offered).
---
4) The document does not cite RFC2460, which I would have expected as a
normative reference for IPv6 use of UDP. RFC2119 is also normative.
---

_______________________________________________
MBONED mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/mboned