Re: [netmod] I-D Action: draft-ietf-netmod-acl-model-17.txt

Mahesh Jethanandani <> Fri, 09 March 2018 00:40 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id D558F126DCA for <>; Thu, 8 Mar 2018 16:40:44 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Status: No, score=-1.998 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id etmRjmmdGheb for <>; Thu, 8 Mar 2018 16:40:41 -0800 (PST)
Received: from ( [IPv6:2607:f8b0:400e:c00::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id D4460120727 for <>; Thu, 8 Mar 2018 16:40:40 -0800 (PST)
Received: by with SMTP id a16so618640pfn.9 for <>; Thu, 08 Mar 2018 16:40:40 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=GLt0PKJSqODucwggqmYQ2xEEyj7JUV2N78sng7jrswU=; b=K/t4mnQAgM18D+AdakfBcy0E0kyy+QOEeT4Z7wuC0SBCKNNLHD40L5tLmhPPW9/82F bRQpomzcFrooIKK+OP4kBYb2fzkf9fgPFNUeo74Q1CbT7jfDpocYr69nr+mmzmjwn5B/ /tNaHpevDgJIG6VyX5YRHDe66H15Ics2HYlEoL+WwhC9DNoP8sl+YLWkdQbFygeM9kDe +Q4+J5Zwmdp7rsMoJD+w2Dk6T/85dr/ouTcqsMXFHLQRqCdzsmN1SztsCiM2Br+K/nvc wmIoD929YI6stzmhfIN+lBffw0YmtLo0IcaCcbRCy7gn8swwNJyvHfOEe0on7G4fJD1U a89w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=GLt0PKJSqODucwggqmYQ2xEEyj7JUV2N78sng7jrswU=; b=MZvOR4zHmbe8IoNe6rrRFxJ30UAP+ESQvydgOqOCR6Q9jNC6qJEKlqyPdJgGICr3G6 ByLcojVbf3TA4IKpde40SDNrl+1ELpHCFdwou4U2eBzVyIkNn/iYGJMOtAzzFPygyeWQ 2+sQljryuo8ZPF34uKFZzkwolDDaiqORU8/NgkHpNIOhwLJ/DlaTZqbcUPJxKk89Hp/S oWgkSEWWKpQtZ25+SFjHKpoahTxCsLDZvauuq7e0uoKiSpjE40vwccdx5mOBIigOEP9P 0oIpHiuuFk6lM/Wm+Hm7WB+PYUcmiuurBnBISfcgkrc+oF5UQ2almWegtL1hHb4aM8RX R8bA==
X-Gm-Message-State: APf1xPAF0UyV5lg17FryVzL+Aq5D2wQ/8XXh/fhQfOj8Zxe0jGHdKYMa QpSBgC9qUIiW6tBPc4ZwQkbgkVap
X-Google-Smtp-Source: AG47ELvppdatIj5tdAGZVaFz2MH3ou/cI+JSMsUs9oaX3zhaLBDHJISxT2HDcSNWNTnDETV+cB7S3Q==
X-Received: by with SMTP id p128mr28343924pfp.120.1520556039842; Thu, 08 Mar 2018 16:40:39 -0800 (PST)
Received: from ?IPv6:2601:647:4700:1280:5107:7820:35d2:45e2? ([2601:647:4700:1280:5107:7820:35d2:45e2]) by with ESMTPSA id x5sm39663110pfm.49.2018. (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 08 Mar 2018 16:40:38 -0800 (PST)
From: Mahesh Jethanandani <>
Message-Id: <>
Content-Type: multipart/alternative; boundary="Apple-Mail=_65C77121-5D02-4DC3-B5E8-64746517C94A"
Mime-Version: 1.0 (Mac OS X Mail 11.2 \(3445.5.20\))
Date: Thu, 8 Mar 2018 16:40:54 -0800
In-Reply-To: <>
To: Kent Watsen <>
References: <> <> <>
X-Mailer: Apple Mail (2.3445.5.20)
Archived-At: <>
Subject: Re: [netmod] I-D Action: draft-ietf-netmod-acl-model-17.txt
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: NETMOD WG list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 09 Mar 2018 00:40:45 -0000


> On Mar 7, 2018, at 1:55 PM, Kent Watsen <> wrote:
> [To all those that said this draft was ready, really?]
> Hi Mahesh,
> Thanks for the update.  I found some more issues.  Some must be fixed, 
> others are nits, and might be caught by the RFC Editor.  But I think
> that it's embarrassing to receive comments for such things from the 
> IESG, as is recently the case for the syslog draft, so please see 
> what you can do.
> Thanks,
> Kent
> From Idnits:
>  ** There are 6 instances of too long lines in the document, the longest one
>     being 7 characters in excess of 72.

Hmm. The idnits at submission time did not complain. Will apply the new script that you provided to make sure I wrap them around.

>  You wrote before that it was "Fixed", but it's still here?  Note: "**" is
>  an error (idnits label)
>  -- The document has examples using IPv4 documentation addresses according
>     to RFC6890, but does not use any IPv6 documentation addresses.  Maybe
>     there should be IPv6 examples, too?
>  I don't feel strongly about this, but if it's easy enough to do...
> In the Abstract:
>  - I think the word "an" is missing (e.g., an ACL)


> In the Introduction:
>  - should "ordered-by-user" be "ordered-by user" to avoid confusion, or perhaps say it another way?

How about this in both the Abstract and the Introduction.

ACL is a ordered-by-user set of rules

An ACL is a set of rules, in an order set by the user

>  - what does "a tuple of" mean?  Can this be restated?

How about this?

The match criteria consist of a tuple of packet header match criteria and can have metadata match criteria as well.

The match criteria consist of packet header matches, and or or metadata as described below:

>  - s/In case vendor supports it/In case a vendor supports it/ ?


>  - "The list of X is endless depending on...".  Is "endless" the right word, perhaps restate?
The list of potential actions is endless

The list of potential actions is limitless

>  - same sentence as above, should "networked devices" be "network" or "networking" devices?

Will change “networked devices” to “networking devices”.

> In Section 3:
>  - "A network system usually have a list of ACLs"  (s/system/systems/ or s/have/has/?)


>  - "The match criteria consist of packet header matching" - is consist the right word?

How would you restate it? (After I have s/consist/consists/)

>  - "It as also possible for ACE to match on metadata"  s/as/is/ and s/ACE/an ACE/


>  - "When applied to interfaces of a networked device, the ACL is applied in a direction
>     which indicates if it should be applied to packet entering (input) or leaving the
>     device (output)."  - restate to talk about "ingress" and "egress”?

How about:

When applied to interfaces of a networked device, the ACL is applied in a direction which indicates if it should be applied to ingress interface (input) or egress interface (output).

>  - "An example in the appendix shows how to express it in YANG model." - either this
>    is not true, or the sentence should not be at the end of this paragraph


> In Section 3.1:
>  - s/and must statements/and 'must' statements/

Done and s/if-feature/‘if-feature’/

>  - s/define new "matches" choice/define a new "matches" choice/ ?


> In Section 4.1:
>  - "ietf-access-control-list" is the standard top level module for access lists
>      - what does this mean?

"ietf-access-control-list" is the standard top level module for access lists

"ietf-access-control-list" is the top level module for access lists

>  - The "access-lists" container stores a list of "acl". - s/stores/has or contains?/ 


>  - "...that can be used to determine which rule was matched upon" - not sure if this
>    part is needed, or maybe better restated ", which can later be used to determine…"?


>  - s/ability for ACL's to be/ability for ACLs to be/


> In Section 4.1 (in the YANG module):
>  - A number of identities read "ACL that primarily matches...".  Is "primarily"
>    an accurate word? - if so, then do we need to say anything about when it's
>    not the case?

As one of the text says. It primarily matches IPv4, and does not match either ethernet or IPv6 headers. Such ACL types are different from the mixed ACL types that might match on a combination of ethernet and IPv4 headers etc.

>  Separately, s/ACL/an ACL/?


>  - A number of features read "Device can support..." - s/Device/The device/?


>  - "It can have one or more Access Control Lists" - lists should be singular.

Really? English grammar says that if a sentence has both a singular and a plural, the one nearest to the subject is the one you select.

>  - "An Access Control List(ACL)" - put a space before (ACL)


>  - " Indicates the primary intended" - here's that word "primary" again...
>  - s/a list of access-list-entries(ACE)/ a list of access-list-entry nodes (ACE)/?


>  - s/List of access list entries(ACE)/List of access list entry nodes (ACE)/?
>      - there is more than one instance of this in the model


>  - "../../../../type" - still some long relative XPaths


>  - " or referring to a group of source ports" - this isn't there yet.  I think you
>    want to say something like "this is a choice so as to support future 'case'
>    statements, such as one enabling a group of source ports to be referenced”

How about:

Choice of source port definition using range/operator or referring to a group of source ports, to be added as a future 'case' statement.

>  - ditto for "or referring to a group of destination ports."
>  - ditto on both of the above for the "udp" container
>  - is it possible for both "egress-interface" and "ingress-interface" leafs to 
>    be specified at the same time?  - if not, should there a 'must' statement to
>    prevent that possibility? - or an explanation for what happens if it occurs?

Let me discuss this with my co-authors.

>  - s/The ACL's applied/The ACLs applied/   (this happens more than once in model)


> In Section 4.2:
>  - references them by "uses" --> references them by 'uses' statements  ???


>  - not all your 'reference' statements have the title of the referenced document.


>  - "then the datagram must be destroyed" - s/destroyed/dropped/?


>  - "or referring to a group of ..."  - same comments as for previous module
>  - "ece" is missing a 'reference' statement?  - 


>  - "Indicates that the Urgent pointer field is significant" - urgent is
>    capitalized, but there's no context as for why.  Perhaps missing a
>    reference statement too?

Added a reference statement.

>  - in "window-size" leaf description, remove parentheses


> In Section 4.3:
>  - the text says that it drops traffic from X to Y, but the example seems to do
>    the reverse.


> In Section 4.4:
>  - The "With the follow XML example:" <EXAMPLE> "This represents..." is 
>    difficult to read.  How about just having "The following XML example ...:”?


>  - does the second example provide any value of the first? - seems the same to me…

Will change the example.

>  - seems like example 3 could also be expressed as "<lower-port>21</lower-port>",
>    right?  - the text at the beginning of the section says this construct is
>    possible, but there is no example for it.  Maybe this makes a better ex #2?

Have changed the language in the beginning of the section to say:

"When only a port is present, it represents a port, with the operator specifying the range."

That is because, it now a choice between specifying a range or specifying a single port with an operator.

> In all your YANG modules:
>  - replace "NETMOD (NETCONF Data Modeling Language)" with "NETMOD (Network 
>    Modeling) Working Group”


> In Section ??:
>  In the examples, why did you add the "<?xml version="1.0" encoding="UTF-8"?>"
>  line and the "config" element?  - the examples validate equally well when
>  these are removed.

The examples can then be cut and pasted into any client such as ncclient which takes an entire <rpc>.

> In Section 6:
>  - s/three YANG module/three YANG modules/


> In Section 6.1:
>  - The first paragraph says "three URI", but it should be "three URIs”


> In Section A.1:
>  - "The following figure is the tree structure" - should say "tree diagram" and
>    should reference the tree-diagrams draft, or else have a draft-wide "Tree
>    Diagram Notation" section in the Introduction.

Added a section in the Introduction.

>  - s/In other example/In another example/?
>  - s/with new choice of actions/with a new choice of actions/?

Both fixed.

> In Section A.3;
>  - some 'reference' statements are missing titles


>  - some 'description' statements might benefit from a 'reference’ statement

I have added references that I could find.

>  - "The uint16 type placeholder type..." - is this a typo?

Dropped the second “type”.


> Kent
> ===== original message ======
> This version of the draft addresses comments raised during LC, shepherd review and other comments received during that period.
>> On Mar 3, 2018, at 2:13 PM, wrote:
>> A New Internet-Draft is available from the on-line Internet-Drafts directories.
>> This draft is a work item of the Network Modeling WG of the IETF.
>>       Title           : Network Access Control List (ACL) YANG Data Model
>>       Authors         : Mahesh Jethanandani
>>                         Lisa Huang
>>                         Sonal Agarwal
>>                         Dana Blair
>> 	Filename        : draft-ietf-netmod-acl-model-17.txt
>> 	Pages           : 57
>> 	Date            : 2018-03-03
>> Abstract:
>>  This document defines a data model for Access Control List (ACL).
>>  ACL is a ordered-by-user set of rules, used to configure the
>>  forwarding behavior in device.  Each rule is used to find a match on
>>  a packet, and define actions that will be performed on the packet.
>> The IETF datatracker status page for this draft is:
>> <>
>> There are also htmlized versions available at:
>> <>
>> <>
>> A diff from the previous version is available at:
>> <>
>> Please note that it may take a couple of minutes from the time of submission
>> until the htmlized version and diff are available at <>.
>> Internet-Drafts are also available by anonymous FTP at:
>> <>
>> _______________________________________________
>> netmod mailing list
>> <>
>> <>
> Mahesh Jethanandani
> <>
> _______________________________________________
> netmod mailing list
> <>
> <>
Mahesh Jethanandani