Re: [core] A couple of late comments on Hop-Limit

<mohamed.boucadair@orange.com> Wed, 16 October 2019 11:45 UTC

Return-Path: <mohamed.boucadair@orange.com>
X-Original-To: core@ietfa.amsl.com
Delivered-To: core@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B900B12026E for <core@ietfa.amsl.com>; Wed, 16 Oct 2019 04:45:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level:
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id x-HzIUIeK6MO for <core@ietfa.amsl.com>; Wed, 16 Oct 2019 04:44:59 -0700 (PDT)
Received: from relais-inet.orange.com (relais-inet.orange.com [80.12.70.36]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id ED6B8120255 for <core@ietf.org>; Wed, 16 Oct 2019 04:44:58 -0700 (PDT)
Received: from opfednr02.francetelecom.fr (unknown [xx.xx.xx.66]) by opfednr26.francetelecom.fr (ESMTP service) with ESMTP id 46tVpK2WbyzyvY; Wed, 16 Oct 2019 13:44:57 +0200 (CEST)
Received: from Exchangemail-eme6.itn.ftgroup (unknown [xx.xx.13.89]) by opfednr02.francetelecom.fr (ESMTP service) with ESMTP id 46tVpK1mgbz8sYp; Wed, 16 Oct 2019 13:44:57 +0200 (CEST)
Received: from OPEXCAUBMA2.corporate.adroot.infra.ftgroup ([fe80::e878:bd0:c89e:5b42]) by OPEXCAUBM44.corporate.adroot.infra.ftgroup ([fe80::e8a4:8bb:d7c2:f4e2%21]) with mapi id 14.03.0468.000; Wed, 16 Oct 2019 13:44:57 +0200
From: mohamed.boucadair@orange.com
To: Christer Holmberg <christer.holmberg=40ericsson.com@dmarc.ietf.org>, Carsten Bormann <cabo@tzi.org>
CC: "core@ietf.org" <core@ietf.org>
Thread-Topic: [core] A couple of late comments on Hop-Limit
Thread-Index: AQHVhApYYBijvGsxFUafcFUkAAupTKdc/IYAgAAC34CAACK6MA==
Date: Wed, 16 Oct 2019 11:44:56 +0000
Message-ID: <787AE7BB302AE849A7480A190F8B93303133F57F@OPEXCAUBMA2.corporate.adroot.infra.ftgroup>
References: <9D131FD6-2CE8-4C23-8BF1-0641C3E65A46@ericsson.com> <D43A1E52-FF72-4A23-8D3F-BD6E62FDCEB6@tzi.org> <FF5FA0C8-B277-471F-8392-FCB87971DB7B@ericsson.com>
In-Reply-To: <FF5FA0C8-B277-471F-8392-FCB87971DB7B@ericsson.com>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.114.13.247]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/KFkZcQr4yGynSA-UN7cBIsm5jJc>
Subject: Re: [core] A couple of late comments on Hop-Limit
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/core>, <mailto:core-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/core/>
List-Post: <mailto:core@ietf.org>
List-Help: <mailto:core-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 16 Oct 2019 11:45:01 -0000

Hi Christer, 

Please see inline. 

Cheers,
Med

> -----Message d'origine-----
> De : core [mailto:core-bounces@ietf.org] De la part de Christer Holmberg
> Envoyé : mercredi 16 octobre 2019 13:26
> À : Carsten Bormann
> Cc : core@ietf.org
> Objet : Re: [core] A couple of late comments on Hop-Limit
> 
> Hi,
> 
>     >> Q2:
>     >>
>     >> The draft says that a CoAP message with the Hop-Limit option value
> set to 0 bigger than 255 must be rejected with a 4.00 Bad Request response.
>     >
>     > There are two cases here: 0, and > 255.  The latter would be a syntax
> error for this option; the option description clearly limits the value to
>     > a single byte (Table 1).  Zero is not a syntax error, but a value
> that the authors chose to disallow.
>     >
>     >> 	• Is 4.00 really an appropriate response code? When reading the
> HTTP definition for 400 Bad Request (CoAP inherits the semantics), it
>     >>       is about a client error (miss formed message, etc), which is
> not the case here.
>     >
>     > A syntax error or a disallowed value in a request is a client error,
> no?
> 
>     The client may have included a valid value, but due to too many hops it
> reached 0. That is not a client error in my opinion.

[Med] Even in that case, this is still a client error (not the original client, but the client component of the proxy that violated the following):

   MUST NOT be forwarded if the Hop-Limit option is set to
   '0' after decrement.

The node that receives such message does not know (necessarily) that the request is coming from the original client or whether it is relayed by a proxy. 

> 
>     Sure, if the value is larger than 255 I guess 4.00 would be ok, because
> that is a protocol violation.
> 
>     >> 	• Based on my experience in SIP, it is VERY useful to have a
> dedicated response code for this (SIP defines ‘483 Too Many Hops’).
>     >
>     > We do have one for this case: TBA1 | Hop Limit Reached
>     > But this is different from a syntax error.
> 
>     Yes, I noticed that (and just sent a reply about it).
> 
>     But, again, if the value reaches 0, shouldn't TBA1 be used instead of
> 4.00?

[Med] Yes, TBA1 will be issued by the proxy which exhausted the hop-limit. In the meantime, the message with exhausted hop-limit must not forwarded upstream. 

> 
>     >> Because, when this happens, it is often related to *network
> configuration and/or routing issues* – not to client implementation
>     >> issues – so it is VERY useful information when trying to figure out
> why the message was rejected.
>     >
>     > Specific response codes are useful if you want specific state machine
> transitions to happen
> 
>     Specific response codes are also very useful for debugging - especially
> in this case where one probably should start by looking at the
> network/routing configurations instead of the endpoint implementations.
> 
> Regards,
> 
> Christer
> 
> 
> _______________________________________________
> core mailing list
> core@ietf.org
> https://www.ietf.org/mailman/listinfo/core