Re: [Rtg-yang-coord] comment concerning draft-shaikh-rtgwg-policy-model-00
Jeff Tantsura <jeff.tantsura@ericsson.com> Thu, 28 May 2015 06:51 UTC
Return-Path: <jeff.tantsura@ericsson.com>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1])
by ietfa.amsl.com (Postfix) with ESMTP id C5E391A1B7D
for <rtg-yang-coord@ietfa.amsl.com>; Wed, 27 May 2015 23:51:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.6
X-Spam-Level:
X-Spam-Status: No, score=-3.6 tagged_above=-999 required=5
tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, J_CHICKENPOX_26=0.6,
RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham
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 l-DIaAfDeXxZ for <rtg-yang-coord@ietfa.amsl.com>;
Wed, 27 May 2015 23:51:01 -0700 (PDT)
Received: from usevmg21.ericsson.net (usevmg21.ericsson.net [198.24.6.65])
(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
(No client certificate requested)
by ietfa.amsl.com (Postfix) with ESMTPS id 4F1131A1B7A
for <Rtg-yang-coord@ietf.org>; Wed, 27 May 2015 23:51:01 -0700 (PDT)
X-AuditID: c6180641-f79086d000001909-ae-5566559e9e14
Received: from EUSAAHC003.ericsson.se (Unknown_Domain [147.117.188.81])
by usevmg21.ericsson.net (Symantec Mail Security) with SMTP id
1D.5A.06409.E9556655; Thu, 28 May 2015 01:39:10 +0200 (CEST)
Received: from EUSAAMB109.ericsson.se ([147.117.188.126]) by
EUSAAHC003.ericsson.se ([147.117.188.81]) with mapi id 14.03.0210.002; Thu,
28 May 2015 02:50:59 -0400
From: Jeff Tantsura <jeff.tantsura@ericsson.com>
To: Anees Shaikh <aashaikh@google.com>
Thread-Topic: [Rtg-yang-coord] comment concerning
draft-shaikh-rtgwg-policy-model-00
Thread-Index: AQHQmJeN5jWALvM7EUmLA5K3S0r2rJ2QS2CAgAAC8wCAANjMgP//zP/6
Date: Thu, 28 May 2015 06:50:58 +0000
Message-ID: <376DFA77-D190-4957-B842-DDB6ACAF3E1B@ericsson.com>
References: <20150527122452.GC41087@elstar.local>
<CAJK7ZqKHEYpD3nb8J5hjbex=NVhAAtURHWw5jGKxdrRWZe+sCw@mail.gmail.com>
<D18B6A36.1F437%acee@cisco.com>
<15B43214-AE84-49C0-A83B-9E4DB6184CC6@cisco.com>,
<CAJK7Zq+9bFvuW79Cv5eg9E+189PW8zZ0aSHFCvPWSy-Pf=ksDQ@mail.gmail.com>
In-Reply-To: <CAJK7Zq+9bFvuW79Cv5eg9E+189PW8zZ0aSHFCvPWSy-Pf=ksDQ@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Content-Type: multipart/alternative;
boundary="_000_376DFA77D1904957B842DDB6ACAF3E1Bericssoncom_"
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpgkeLIzCtJLcpLzFFi42KZXLonUHdeaFqowa/D1hYbdypaTH47j9ni
6safjBa/n99mdmDxmPJ7I6vHgk2lHkuW/GTy2HDAM4AlissmJTUnsyy1SN8ugSvj+/O3LAXX
ljFWTDq9hKmBcVk3YxcjJ4eEgInEt4ZZrBC2mMSFe+vZuhi5OIQEjjJKLHiznAXCWc4o8bj9
JRtIFZuAgcT/b8eBEhwcIgJqEg+mhoDUMAssYJS4OvsXO0iNsECoxO+t+8GmigiESbR//MYC
YbtJ3Dv0nQnEZhFQlei//B0szitgLzFv0RywuJDAJCaJswvA5nAKBErM7ZsDtpcR6Lrvp9aA
1TALiEvcejKfCeJqAYkle84zQ9iiEi8f/2OFqEmW+Hb8ONR8QYmTM5+wTGAUmYWkfRaSsllI
yiDiBhLvz81nhrC1JZYtfA1l60ts/HKWEVl8ASP7KkaO0uLUstx0I8NNjMAoOybB5riDccEn
y0OMAhyMSjy8CXZpoUKsiWXFlbmHGKU5WJTEeS+qhoQKCaQnlqRmp6YWpBbFF5XmpBYfYmTi
4JRqYFwsk7Jr82rDYwrxhk631yqvsWCbL85bM/OLoHPkLqaPu+8bHak97upbu6QoXPu+1lNO
Vom9stWRM9M3egT+mMmmsnOnjdyM93JrZ3FOWmxuvvjEK5kLfmpCC9+8OeOerKhg8mTtZ+uf
vUvK43bqKntZidsc845UWLXsv+ae1se3pZmFnZkSxJVYijMSDbWYi4oTAWSMbgOTAgAA
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/2uEBJEeUyVuDdyVYLhJq7SL21K0>
Cc: "rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>,
Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>,
"Acee Lindem \(acee\)" <acee@cisco.com>
Subject: Re: [Rtg-yang-coord] comment concerning
draft-shaikh-rtgwg-policy-model-00
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG
models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>,
<mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>,
<mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 28 May 2015 06:51:05 -0000
Hi Anees,
Using ip:prefix type would for sure benefit from better validation enforcement.
Saying "for now" - do you expect it to be changed later?
Thanks!
Regards,
Jeff
On May 27, 2015, at 10:53 PM, "Anees Shaikh" <aashaikh@google.com<mailto:aashaikh@google.com>> wrote:
hi Acee, thanks for the comments -- we debated these same questions :-)
This approach was based on the wish to avoid operators having to worry about specifying an ipv4 prefix list separately from an ipv6 -- no major implementation has this separation today (though it could be considered).
If using inet:ip-prefix type instead of inet:ip-address + masklength buys us some range checking in the pattern , maybe that's another reason to switch to using that union type instead. We will discuss making that update.
You're right that with a string we don't do checking on the masklength-range field. As I mentioned earlier in the thread, this was to accommodate a simple way to express an exact prefix (several implementations do something similar).
Among OpenConfig operators, after some debate, we generally try to balance the amount of validation in the model itself, with maintaining flexibility and simplicity. In other words, we don't believe the model needs to prevent every conceivable error -- the implementation also has to participate by rejecting invalid / unsupported configuration. That said, where it's easy to add validation, we have tried to include it, though ranges, defaults, min/max values, etc. get harder when trying to build something vendor-neutral.
Same applies to your correct comment that the current construct theoretically allows one to mix address types in the prefix list. Interestingly, some implementations allow you to create such a list, but fail later when you try to use it in a policy. We've chosen for now to allow it (again for simplicity), but explicitly say in the description that most implementations will reject a prefix-list with mixed address types.
thanks.
-- Anees
On Wed, May 27, 2015 at 9:57 AM, Acee Lindem (acee) <acee@cisco.com<mailto:acee@cisco.com>> wrote:
On May 27, 2015, at 12:47 PM, Acee Lindem (acee) <acee@cisco.com<mailto:acee@cisco.com>> wrote:
Hi Anees,
I had noted problems with the prefix-lists in the draft as well but hadn’t got around to raising them. One thing about the masklength and masklength-range is that there is no validation in the model snippet below. In other words, there is nothing to express that the masklength must between 0..32 for IPv4 addresses and 0..128 for IPv6 addresses (this is enforced by the ip-prefix type from RFC 6991). Similarly, as a string there in no inherent validation of the masklength-range (e.g., both values must be >= masklength, second value must be >= first-value, and both values must be >= AF specific limit).
Of course I meant "<= AF specific limit”.
Thanks,
Acee
Also, there is nothing to prevent one from mixing IPv4 and IPv6 prefixes in the same length which is definitely not allowed for the prefix-lists we all know and love.
Thanks,
Acee
From: Anees Shaikh <aashaikh@google.com<mailto:aashaikh@google.com>>
Date: Wednesday, May 27, 2015 at 12:09 PM
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de<mailto:j.schoenwaelder@jacobs-university.de>>, Routing YANG <rtg-yang-coord@ietf.org<mailto:rtg-yang-coord@ietf.org>>
Subject: Re: [Rtg-yang-coord] comment concerning draft-shaikh-rtgwg-policy-model-00
Juergen, you're right that prefix-lists in the model turned out to be a bit problematic as currently defined. We've updated the model in the most recent revision after going through some translations of our configs to the OpenConfig model and running into some issues. The updated version looks more like the following:
list prefix {
key "address masklength masklength-range";
leaf address {
type inet:ip-address;
}
leaf masklength {
type uint8;
}
leaf masklength-range {
type string {
pattern '^([0-9]+\.\.[0-9]+)|exact$';
}
}
}
The model used address and a separate masklength so that range checking could be performed on the mask. We've since removed the range-checking in favor of simplifying to keep a single prefix list for both address types, ipv4 and ipv6.
The original model had the problem you mention, which is that all keys must be mandatory, including masklength-range, which meant there was no simple way to express an exact prefix other than, e.g., 21..21 which we didn't think was desirable. Changing the masklength-range to a string allows a more flexible pattern (including an 'exact' setting). The masklength-range is included in the keys to make the list have unique members.
I think we could also consider your suggestion to use a inet:ip-prefix instead of address since we're not doing range-checking on the masklength in the current approach -- will discuss with the co-authors.
Agree with your suggestion to make the XML examples more conformant (they should certainly validate), though we've only been using ad-hoc namespaces for models that are not IETF WG models so far. My understanding is that this is the recommended practice.
thanks.
-- Anees
On Wed, May 27, 2015 at 5:24 AM, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de<mailto:j.schoenwaelder@jacobs-university.de>> wrote:
Hi,
I have read the document and I have a small comment.
- You define a list 'prefix' in the list 'prefix-set' which is keyed
by three leafs. As a result, all three leafs are mandatory. Your XML
instance snipped in section 10 does not validate because it is
missing mandatory key elements. I wonder (a) why did you not use
inet:ip-prefix instead of the pair inet:ip-address and a unit8
masklength. And given the desire to represent a prefix range, would
a special syntax not make sense, e.g. an extension of ip-prefix,
lets call it ip-prefix-range, that allows to express a range of
prefixes:
10.3.192.0/21-24<http://10.3.192.0/21-24> -> 10.3.192.0/21<http://10.3.192.0/21>
10.3.192.0/22<http://10.3.192.0/22>
10.3.192.0/23<http://10.3.192.0/23>
10.3.192.0/24<http://10.3.192.0/24>
If the '-24' part is made optional, your prefix list will be
collapsed to a simple
list prefix {
key prefix-range;
leaf prefix-range {
type ip-prefix-range;
}
}
Such an ip-prefix-range type may even be a useful addition to
ietf-inet-types.
- The XML snippets are nice but it would be cool if they were using
proper namespaces and validate against the data model. Perhaps
something to consider for -01. The pyang tutorial provides examples
how to validate XML snippets against YANG definitions.
/js
--
Juergen Schoenwaelder Jacobs University Bremen gGmbH
Phone: +49 421 200 3587<tel:%2B49%20421%20200%203587> Campus Ring 1 | 28759 Bremen | Germany
Fax: +49 421 200 3103<tel:%2B49%20421%20200%203103> <http://www.jacobs-university.de/>
_______________________________________________
Rtg-yang-coord mailing list
Rtg-yang-coord@ietf.org<mailto:Rtg-yang-coord@ietf.org>
https://www.ietf.org/mailman/listinfo/rtg-yang-coord
_______________________________________________
Rtg-yang-coord mailing list
Rtg-yang-coord@ietf.org<mailto:Rtg-yang-coord@ietf.org>
https://www.ietf.org/mailman/listinfo/rtg-yang-coord
_______________________________________________
Rtg-yang-coord mailing list
Rtg-yang-coord@ietf.org<mailto:Rtg-yang-coord@ietf.org>
https://www.ietf.org/mailman/listinfo/rtg-yang-coord
- [Rtg-yang-coord] comment concerning draft-shaikh-… Juergen Schoenwaelder
- Re: [Rtg-yang-coord] comment concerning draft-sha… Anees Shaikh
- Re: [Rtg-yang-coord] comment concerning draft-sha… Acee Lindem (acee)
- Re: [Rtg-yang-coord] comment concerning draft-sha… Acee Lindem (acee)
- Re: [Rtg-yang-coord] comment concerning draft-sha… Anees Shaikh
- Re: [Rtg-yang-coord] comment concerning draft-sha… Jeff Tantsura
- Re: [Rtg-yang-coord] comment concerning draft-sha… Anees Shaikh
- Re: [Rtg-yang-coord] comment concerning draft-sha… Acee Lindem (acee)
- Re: [Rtg-yang-coord] comment concerning draft-sha… Mahesh Jethanandani
- Re: [Rtg-yang-coord] comment concerning draft-sha… Anees Shaikh