Re: [Anima-signaling] else clause in msg processing, or: where are the errors?

Brian E Carpenter <brian.e.carpenter@gmail.com> Thu, 13 October 2016 19:43 UTC

Return-Path: <brian.e.carpenter@gmail.com>
X-Original-To: anima-signaling@ietfa.amsl.com
Delivered-To: anima-signaling@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 05D41129547 for <anima-signaling@ietfa.amsl.com>; Thu, 13 Oct 2016 12:43:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 AXh7J9n4iw6n for <anima-signaling@ietfa.amsl.com>; Thu, 13 Oct 2016 12:43:37 -0700 (PDT)
Received: from mail-pf0-x236.google.com (mail-pf0-x236.google.com [IPv6:2607:f8b0:400e:c00::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E392A129578 for <anima-signaling@ietf.org>; Thu, 13 Oct 2016 12:43:36 -0700 (PDT)
Received: by mail-pf0-x236.google.com with SMTP id 128so39469446pfz.0 for <anima-signaling@ietf.org>; Thu, 13 Oct 2016 12:43:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:cc:from:organization:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=bZexZk4rOoaFWy1fTdQFExKsAMPD+na/7hOeRSXt8nQ=; b=ZCXhUNpuye1Qkw4kSE8TDQg3/b9EuRds0TjCIrtb/iufcXoepslBZlNvt4puu+HL/d 8bqMcjn9K8LjlOUXsQWehrOIKYcWUgKre8WwQA3Rrb4UUqyE1DJpTxdZoLbp+0cy0Lbm V3OQJT/x/Kjz/nXpWlrmmwVBrBnpC2Pnje/To8wW320sWHpHZyRaNoHGlD6S+7veRamd CjjA7bxI4dBjAIMbisv+Zg7G86UloySeoU2ZyBpeFk7ouQhlMmDM0oroG07Zw2+3BIej KNhr4TR1YACdqtAmkKjaPIzYdL6s151AOPQ2mURhwY4m00rBFZmAfl4ytn3YBCQDSHIg 5j0Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:cc:from:organization :message-id:date:user-agent:mime-version:in-reply-to :content-transfer-encoding; bh=bZexZk4rOoaFWy1fTdQFExKsAMPD+na/7hOeRSXt8nQ=; b=IFR8jkfSmN/XI5WTBwUr4w8q+U9BB30DLb8fHrOgD0gWfHPHhmu28+0DToJWMzl0Pu l+O2Po7msSwdy1PU9TxTn1zg06RQmWahvxoRF2jpK9jpcrr3AyecPmxrLmNZ73gezCAq dllT8W4Wdui/rELFiud8MplEz13qvKaZdFCBvEFhr4shm5n2hFIAZALAoYdmLVPR+7JG YL8BYwo2TEpl27ZErXRFEtK6vVnmV/XFQIKNhf2VYbskGVz63Lc1FC+DOTaPvzXfLVk6 xfr2xV5Gds7RI9fuP4NtsZ5zlxXfEn7eXOEKWwO/uoPaIQ3kyAi7X65CAT68HjX6Twft 7VpA==
X-Gm-Message-State: AA6/9RllYNp6oRAFHrR1PDtua7PMEUHiE+48RlF1rlGelwf2h8uQ5mxHs1u/2b8dVgW8YQ==
X-Received: by 10.99.119.72 with SMTP id s69mr10390750pgc.11.1476387816330; Thu, 13 Oct 2016 12:43:36 -0700 (PDT)
Received: from ?IPv6:2406:e007:6419:1:28cc:dc4c:9703:6781? ([2406:e007:6419:1:28cc:dc4c:9703:6781]) by smtp.gmail.com with ESMTPSA id b88sm21560475pfe.72.2016.10.13.12.43.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 13 Oct 2016 12:43:35 -0700 (PDT)
To: Michael Richardson <mcr+ietf@sandelman.ca>
References: <12062.1476303921@obiwan.sandelman.ca> <34a6f1c3-9898-f1d8-70a9-60bfb59e21f2@gmail.com> <6843.1476370875@obiwan.sandelman.ca>
From: Brian E Carpenter <brian.e.carpenter@gmail.com>
Organization: University of Auckland
Message-ID: <2e343772-296a-b885-0193-ff7186f4b055@gmail.com>
Date: Fri, 14 Oct 2016 08:43:41 +1300
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0
MIME-Version: 1.0
In-Reply-To: <6843.1476370875@obiwan.sandelman.ca>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/anima-signaling/7cyMpLjisa7LFDHR3K99odbm5O8>
Cc: anima-signaling@ietf.org
Subject: Re: [Anima-signaling] else clause in msg processing, or: where are the errors?
X-BeenThere: anima-signaling@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Mailing list for the signaling design team of the ANIMA WG <anima-signaling.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/anima-signaling>, <mailto:anima-signaling-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/anima-signaling/>
List-Post: <mailto:anima-signaling@ietf.org>
List-Help: <mailto:anima-signaling-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/anima-signaling>, <mailto:anima-signaling-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 13 Oct 2016 19:43:39 -0000

On 14/10/2016 04:01, Michael Richardson wrote:
> 
> Brian E Carpenter <brian.e.carpenter@gmail.com> wrote:
>     >> Looking at my rather minimal GRASP ASA implementation I wondered what
>     >> I should do with msg types I don't understand, or for that matter,
>     >> with message types that are not yet defined.
>     >>
>     >> I don't see any clear statements in grasp-07 about error replies.
>     >> Maybe I missed it.
>     >>
>     >> What does one do with an invalid msgtype?  Options are: 1) ignore
>     >> (drop msg) 2) die: drop TCP connection 3) reply with ???-M_INVALID or
>     >> something.
> 
>     > I'm not completely sure about this. Sending back an M_INVALID might
>     > risk a loop condition. Silent ignore (or local diagnostic and ignore)
>     > avoids that. I think that's what I coded. Certainly if we abort an
>     > operation, I think we'll always drop the TCP session though.
> 
> Clearly, M_INVALID has to be a MTI, and defined to say "ignore"
> If we drop the TCP session without notice, then it's hard for us to introduce
> new message types, as we can't probe to see if they are supported.

Well, we can detect the dropped session but we won't know the reason it was
dropped.

I can see exactly where I would handle it in my negotiation code: the line
where it says
    else:
        #if it isn't a valid message, ignore it

and, guess what, in the synchronization code:

    else:
        #if it isn't a valid synch message, ignore it

So it wouldn't be hard to add this from a practical viewpoint.

> I notice that we have no protocol versions in GRASP: I'm not sure we need
> them though, as for the ASA side of things, we ought to discover an ASA that
> speaks the appropriate version.

Yes, objectives have unique strings as names so versioning them is easy.

> 
>     > Note that in a negotiotion session, we can in fact send M_END with
>     > option O_DECLINE and an error string at any time.
> 
> Yes, I realized that we could do this for M_REQ_NEG.
> 
>     > You are completely correct that this should be specified.
> 
>     >> I would rather (3), including the errant session-id.
> 
> Do you have a preference?
> 

I'm still mulling it over. I will definitely put this on the issues list
for the end of WGLC. Sheng is concerned that we haven't had enough comment
on the WG list.

    Brian