Re: Updating RFC2119

Abdussalam Baryun <abdussalambaryun@gmail.com> Mon, 23 July 2012 11:08 UTC

Return-Path: <abdussalambaryun@gmail.com>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5D40321F8699 for <ietf@ietfa.amsl.com>; Mon, 23 Jul 2012 04:08:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.454
X-Spam-Level:
X-Spam-Status: No, score=-3.454 tagged_above=-999 required=5 tests=[AWL=0.145, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pzsYLG-Ytk8X for <ietf@ietfa.amsl.com>; Mon, 23 Jul 2012 04:08:08 -0700 (PDT)
Received: from mail-vc0-f172.google.com (mail-vc0-f172.google.com [209.85.220.172]) by ietfa.amsl.com (Postfix) with ESMTP id 57FBD21F8681 for <ietf@ietf.org>; Mon, 23 Jul 2012 04:08:08 -0700 (PDT)
Received: by vcbfo14 with SMTP id fo14so4952465vcb.31 for <ietf@ietf.org>; Mon, 23 Jul 2012 04:08:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=j6cgDMjMxpHpArnYKQFFYzBcQ6SI/onWN3Nr797DaAY=; b=xLoH9RyHLBSH1OvlwXaGPcdRY2N4Io01S0mjGtiKGbeeHqp08HLXWaDHyBr1/PA3vJ bviRC2HDseLa/kWKi+cMcKvITXTLUhy5ca0qqEZ4BNdc/ZQB+fRxitugOVBxsDgL9sWt 32SjV7NwX5X+CvxM9wTOSpt0TcxrmzwwY7OC/o13NJmBD6/nAtP3ZqVO/j1VgOvd7HRF M5pdOeG+mp1D6y35HDoRBE66UHKFkys3fuiuFJsgUBmFODx6tZYlXjmzRS+y2Pw6exf4 zQB+pQ433NGlHNODYPZgRA74ZreiPH74gMTPye6rCYCZPfUj0hLaiwIXu4Xphwz+ka2Z 004w==
MIME-Version: 1.0
Received: by 10.220.150.138 with SMTP id y10mr11913370vcv.73.1343041687774; Mon, 23 Jul 2012 04:08:07 -0700 (PDT)
Received: by 10.220.141.200 with HTTP; Mon, 23 Jul 2012 04:08:07 -0700 (PDT)
In-Reply-To: <CAPv4CP95Rhma3reOvrWfrWQE_mqsyY8bL2EvkZq5hD6gbyf_ow@mail.gmail.com>
References: <CADnDZ89tHLL5OsLwcT4P76w=W-jShM55HfVm+FSW2ubBerWiCQ@mail.gmail.com> <CAPv4CP95Rhma3reOvrWfrWQE_mqsyY8bL2EvkZq5hD6gbyf_ow@mail.gmail.com>
Date: Mon, 23 Jul 2012 13:08:07 +0200
Message-ID: <CADnDZ89uM25K=8M5KmkFva0V4SHQGUQ2e7nksiv26Pt=WpSrWA@mail.gmail.com>
Subject: Re: Updating RFC2119
From: Abdussalam Baryun <abdussalambaryun@gmail.com>
To: ietf@ietf.org
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Cc: stbryant@cisco.com
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ietf>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 23 Jul 2012 11:08:10 -0000

Hi Stewart,

Usually the (IF x, THEN y) means if x happens then y is a MUST, so I
don't see the important reflection of a MUST in many documentation
when using *if*. That is why I prefer to find requirements more easily
while skimming any IETF document, the MUST, SHOULD, and IF, these are
important requirement words in specifications. Please see below as
examples per your requested.

------------------------------------------------------------------------------------------------------
RFC4861>page36> IMO suggest to use IF, THEN

If no entry exists, the sender creates one, sets its state
to INCOMPLETE, initiates Address Resolution, and then queues the data
packet pending completion of address resolution.
------------------------------------------------------------------------------------------------------
RFC4861>page 49> IMO suggest to use IF and ELSE IF

If the router already has a Neighbor Cache entry for the
solicitation’s sender, the solicitation contains a Source Link-Layer
Address option, and the received link-layer address differs from that
already in the cache, then the link-layer address SHOULD be updated
in the appropriate Neighbor Cache entry, and its reachability state
MUST also be set to STALE. If there is no existing Neighbor Cache
entry for the solicitation’s sender, the router creates one, installs
the link- layer address and sets its reachability state to STALE as
specified in Section 7.3.3. If there is no existing Neighbor Cache
entry and no Source Link-Layer Address option was present in the
solicitation, the router may respond with either a multicast or a
unicast router advertisement. Whether or not a Source Link-Layer
Address option is provided, if a Neighbor Cache entry for the
solicitation’s sender exists (or is created) the entry’s IsRouter
flag MUST be set to FALSE.
----------------------------------------------------------------------------------
RFC5715>page 19>

If R changes before T, then a loop will form
around R, T, and S.
-----------------------------------------------------------------------------------
RFC6052> page 10> suggest delete *will* and to add as IF, THEN

If a packet bound to
192.0.2.33 reaches the translator, the destination address will be
translated to 2001:db8:122:344:c0:2:2100::, and the packet will be
routed towards R and then to A.
-----------------------------------------------------------------------------------

There are many examples that ignore the use of IF , THEN requirements,
which I suggest to be in the I-D update of RFC2119 that I working on
and will submit in 30 July,

Regards

Abdussalam Baryun
University of Glamorgan, UK
==================================

>Preferable with a list of RFC text snippets that would have been
>more readable if these keywords had been used.

>Stewart


> On Sun, Jul 22, 2012 at 7:17 AM, Abdussalam Baryun
> <abdussalambaryun@gmail.com> wrote:
>> Hi All,
>>
>> I am working on an I-D which is intended as proposed standard but need
>> some addition requirement language. Therefore, I want to propose to
>> write a draft to update RFC2119 to add some other language requirement
>> as below:
>>
>> IF x, THEN y:
>>
>> ELSE:
>>
>> ELSE IF:
>>
>> Please send your comments or advise, thanking you,
>
> That doesn't have to be in 2119.  Lots of RFCs have pseudocode at
> various levels of rigor.  Just look around at some protocol specs for
> examples.
>