Re: [netmod] IETF ACL model

Mahesh Jethanandani <> Wed, 29 November 2017 20:11 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 36643128D19 for <>; Wed, 29 Nov 2017 12:11:35 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Status: No, score=-1.999 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] 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 vTRjEmNPzuPQ for <>; Wed, 29 Nov 2017 12:11:32 -0800 (PST)
Received: from ( [IPv6:2607:f8b0:400e:c01::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id D7FC3128C9C for <>; Wed, 29 Nov 2017 12:11:31 -0800 (PST)
Received: by with SMTP id i6so2741494plt.13 for <>; Wed, 29 Nov 2017 12:11:31 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc:message-id:references :to; bh=jHSF5DFy2vJaezZtzH/j5xdgNTO4jodl3rwXFnrxQq4=; b=hM/CN/jermEDxPUUTlcx03P9dmsUaIPoxY1i4lVclWGjq1XYPAh/ZokSJERwmNNMib wX7/yN/i+arEc/yzXg7JSfhkrP8yTBh3CynGd80Rjxc48aDKGr8vim/wduFWLctBqUnC 2RPZ92dMf2Os9Z8UhhXC/tOXQ5oNIJ7M2f5Emq68InI01RjX28WXD9DXX/6VnFmc56z4 TGT75Gbeb0LbPd7Uwd+70FFslHj1Y/MlzADrDzZo/kiJyUMFcXAZrEWCv3OZV7RfmWHD CyenMAgKSTlupwRHlpU9a6a4LhX3JpLGp35UpN+6NsNjBRhHT4QzRsbsQO3sTnZNlCyK 3rbg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :message-id:references:to; bh=jHSF5DFy2vJaezZtzH/j5xdgNTO4jodl3rwXFnrxQq4=; b=IuzmNhQC28tyMG3uyslem49AxORVdv3mVxXbfuc4IFJ8kP9sDLJZNYjaWAv7SM50I6 hz9BW0+3S+IaKRsFyy3lB6/vQ79oN43K2px7hJXVu133iYvhd3i1x0nTTJsbpWdiqYC3 CfJQELmC9As+ujjTiPzNOqD5g8UoPIw71jtxsKCxBgf2PL9CdsWTlZ1rzc7V++KnlMWH FHnStFFvyFJqqR0dES979JTPAY1xwjWlLtRQacqVGK5ZimP+FWPj8zU6vMRpGcKqaQfr ZIQZYDq9o7yF9FWMja/xY+7i5yMMxHSNUej4EEmK5mnT1yjt14N7ghcxTlsvldBfcBrP E+Gw==
X-Gm-Message-State: AJaThX4PJJ0SJU4P8elhRLzzSr3JOe9UL023GVVH/q3+EOGjelj2lGaN Aokg6DqJuQjGB5DIHxvJFgdSdyXU
X-Google-Smtp-Source: AGs4zMY1CrXUsYvktVFNsb9Ot2b32tzA8emRRYeVFQPz94fyhiZkmd9sB765uweQeVD5Vpk3OVzhXQ==
X-Received: by with SMTP id 32mr50748pld.347.1511986291052; Wed, 29 Nov 2017 12:11:31 -0800 (PST)
Received: from ([2600:1700:edb0:8fd0:64e3:eccb:ea65:7763]) by with ESMTPSA id x22sm4806491pfa.169.2017. (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 29 Nov 2017 12:11:30 -0800 (PST)
Content-Type: multipart/alternative; boundary="Apple-Mail=_01DE3777-7819-42F6-BB11-FE7CB34D0EBE"
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
From: Mahesh Jethanandani <>
In-Reply-To: <>
Date: Wed, 29 Nov 2017 12:11:17 -0800
Cc: Robert Wilton <>, Jeffrey Haas <>, Sonal Agarwal <>, Kristian Larsson <>, Kristian Larsson <>, Martin Bjorklund <>
Message-Id: <>
References: <> <> <> <>
To: NetMod WG <>
X-Mailer: Apple Mail (2.3124)
Archived-At: <>
Subject: Re: [netmod] IETF ACL model
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: Wed, 29 Nov 2017 20:11:35 -0000

The updated commit here <> takes care of restoring “type" to "acl-type", fixes some indentation issues, adds a choice for “l3" where either “ipv4" or “ipv6" can be selected, and a similar choice at “l4" that allows either “tcp", “udp" or “icmp" to be selected, and removes changes for “global" attachment point. Will add the last item as a separate commit.

Unless I hear objections, I will roll the pr/18 changes into the master branch in 48 hours.

> On Nov 28, 2017, at 2:17 AM, Martin Bjorklund <> wrote:
> Mahesh Jethanandani <> wrote:
>> An updated version of the model has been posted as part of the PR here
>> <>.
>> The particular change removes any-acl from the model, expands on eth
>> (to ethernet), removes acl- prefix for things like acl-type and
>> acl-name. Please review.
> I think 99% of the changes in this PR look good.  The one
> exception is the typedef that used to be called "acl-type".  I think
> it should still be called "acl-type".  "type" is too broad.  NOTE,
> this is just the typedef; the leaf /access-lists/acl/type should keep
> its name ("type").
> /martin
>>> On Nov 27, 2017, at 5:17 AM, Kristian Larsson <>
>>> wrote:
>>> Robert Wilton <> writes:
>>>> Thinking about this some more. I'm not sure what it means for the "ACL
>>>> Type" to be "any-acl". It seems that the "match any packet" should be
>>>> a
>>>> type of ACE, e.g. perhaps as the last entry of an ACL, rather than a 
>>>> type of ACL.
>>> Yes, I agree as so far that any-acl makes no sense as an acl-type. The
>>> way I understood acl-type, and the way that vendors have told me it
>>> will
>>> be used, is to say "this is an IPv4 ACL" and then on an attachment
>>> point
>>> you can specify that only ACLs of acl-type ipv4-acl can be attached to
>>> the interface. That makes perfect sense. I do not see how any-acl can
>>> map into this.
>>> I agree that any-acl is logically a type of ACE but we don't have an
>>> ace-type and the exact same information can IMHO already be conveyed
>>> WITHOUT the any-acl type and thus it has no reason to exist. Nor do we
>>> need a feature for it.
>>> From what I can tell the any-acl container in the ACE should be used
>>> to
>>> explicitly signify a match on "any". Think of IOS style ipv4 acl:
>>> permit ip any any
>>> We have to provide a source and destination so this would be a rather
>>> explicit mapping of that. However, our structure in this YANG model is
>>> just completely different than an IOS command so I don't see why we
>>> should try and mimic IOS in the YANg model.
>>> Not specifying a destination IP address means we match on any
>>> destination IP address. The same is true for any other field we can
>>> match on. Not setting a match implies we don't try to match on that
>>> field, thus we allow "any" value. I think the logical continuation of
>>> this is that for an ACE with no matches defined at all, we match any
>>> packet. I think we can update the text to better explain this.
>>>> Otherwise if the ACL type is "any-acl" then this only allows two types
>>>> of ACLs to be defined, neither of which seem to be particularly
>>>> useful:
>>>> (1) An ACL that matches all traffic and permits it, i.e. the same as 
>>>> having no ACL at all.
>>>> (2) An ACL that matches all traffic and drops.
>>>> So I think perhaps the answer here is to define neither ACL type 
>>>> "any-acl" nor leaf "any". The presumption could be that any ACE that
>>>> is
>>>> configured to match no fields implicitly matches all packets (because 
>>>> all non specified fields are treated as wildcards), and then applies
>>>> the
>>>> permit/deny rule associated with the ACE. This logic can apply to all 
>>>> ACL types.
>>> Yes yes yes :)
>>>  Kristian.
>> Mahesh Jethanandani

Mahesh Jethanandani