Re: [i2rs] FW: Routing directorate QA review of draft-ietf-i2rs-rib-info-model
Nitin Bahadur <nitin_bahadur@yahoo.com> Tue, 21 June 2016 23:28 UTC
Return-Path: <nitin_bahadur@yahoo.com>
X-Original-To: i2rs@ietfa.amsl.com
Delivered-To: i2rs@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D573412D83F for <i2rs@ietfa.amsl.com>; Tue, 21 Jun 2016 16:28:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.125
X-Spam-Level:
X-Spam-Status: No, score=-4.125 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, MIME_QP_LONG_LINE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, RP_MATCHES_RCVD=-1.426, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yahoo.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 Vc2qlwtSPn-L for <i2rs@ietfa.amsl.com>; Tue, 21 Jun 2016 16:28:50 -0700 (PDT)
Received: from nm13-vm9.bullet.mail.gq1.yahoo.com (nm13-vm9.bullet.mail.gq1.yahoo.com [98.136.218.154]) (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 4410112D69E for <i2rs@ietf.org>; Tue, 21 Jun 2016 16:28:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1466551729; bh=39KdE7c16iow6Oaz58d2Zd6d4P4GcnNiLChpw0nF1/I=; h=Date:Subject:From:To:CC:References:In-Reply-To:From:Subject; b=FFJXZhGa4se67l8R268aF7yw1qD0gWPADPwUi5B85PcrLIuJWK7xFhgk6NcZNiBgoHCWCfy75VAeJJ4wpO+bmV2lZnBz4mBwwGIcQ5Dhn7RpAtLEfUHUrud9rTe0R3jFdrmyr95V5mLkeWygnM2tscdBcLXYZgJjFhkLnl3RaTPHDO/gdfk895TOFO6XkP3tw0IXDwe/FptoGblPG+M0PP+h1os914NWUf+Qu63YGgDpiaUqrOoE8kuVUMO6P8PU2dJCG8YN3hLoiJPRndsaO4uKQWUscOfcWg1Gn/MKJTYc4s5XrX1IapM+RT9zGLTCyRnDY2KJk6pUASmzz5Shdw==
Received: from [98.137.12.174] by nm13.bullet.mail.gq1.yahoo.com with NNFMP; 21 Jun 2016 23:28:49 -0000
Received: from [208.71.42.193] by tm13.bullet.mail.gq1.yahoo.com with NNFMP; 21 Jun 2016 23:28:49 -0000
Received: from [127.0.0.1] by smtp204.mail.gq1.yahoo.com with NNFMP; 21 Jun 2016 23:28:49 -0000
X-Yahoo-Newman-Id: 930417.98216.bm@smtp204.mail.gq1.yahoo.com
X-Yahoo-Newman-Property: ymail-3
X-YMail-OSG: ZFcvs8kVM1mg9E_7v3UoU5ciCL5S_pbdSCfbP8gZCcX8fGl kVuEqoAdTWjV4IFDOsKMWMVQG4S8l5doi80Q0RcyTO6wjyhTh1s.qF.xO44K h773yp0YuPp9cKwEuHQ1FuPl8WHGksSGUrEm6TBB0bpUb6cLo1tPxirpD_ly LULLsOFOa5W7ejUH7cqr7yXchnLPhtZIUgPNklUc2cyxHW..wYrG7CDqIoW4 3dmtnLEq2cEO34xhp.lpuM.TZ3PGC3bCfxLOcnWTuzRsdt4TE_N178rWoe96 YMv2hp6YJxCZV7pIUtqn3mPrH.sKcxz3XQ.295v_f0zM.CCT5BDGGxoYrCc. L7oHUTtuVzLiZWDbWWBnOQfSmq6p2N.IDZEfFHASmcGU63_hy4I8phmlGMuA yhWOWW91x8SfmFGNY.TtnI6BF0ruRMiKAC5Fw_xzdLXCZM_PMzgmhFWKvCPG 6yn0c4HglBToKKr.vv81YbbT1h0xQBAfysrB15nXfE2zp0pUc6H3cQ0YoUT9 ZsqHr_HIIqtSfNLkcGMfSbZy0B1NexgDP486FdUffk8k0UiksMhxgKyc8
X-Yahoo-SMTP: jU6Na92swBBdqSRkLOL9Cp_LhHZgQAQoL10-
User-Agent: Microsoft-MacOutlook/14.5.9.151119
Date: Tue, 21 Jun 2016 16:28:43 -0700
From: Nitin Bahadur <nitin_bahadur@yahoo.com>
To: "Zhangxian (Xian)" <zhang.xian@huawei.com>, Ravi Singh <ravis@juniper.net>
Message-ID: <D38F1B0E.36924%nitin_bahadur@yahoo.com>
Thread-Topic: [i2rs] FW: Routing directorate QA review of draft-ietf-i2rs-rib-info-model
References: <D38EFA4A.3685E%nitin_bahadur@yahoo.com>
In-Reply-To: <D38EFA4A.3685E%nitin_bahadur@yahoo.com>
Mime-version: 1.0
Content-type: multipart/alternative; boundary="B_3549371328_7852828"
Archived-At: <https://mailarchive.ietf.org/arch/msg/i2rs/JchCNSz_gcgsEXDZEoCbdeGpGvE>
Cc: "i2rs@ietf.org" <i2rs@ietf.org>, "draft-ietf-i2rs-rib-info-model@tools.ietf.org" <draft-ietf-i2rs-rib-info-model@tools.ietf.org>
Subject: Re: [i2rs] FW: Routing directorate QA review of draft-ietf-i2rs-rib-info-model
X-BeenThere: i2rs@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "Interface to The Internet Routing System \(IRS\)" <i2rs.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/i2rs>, <mailto:i2rs-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/i2rs/>
List-Post: <mailto:i2rs@ietf.org>
List-Help: <mailto:i2rs-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/i2rs>, <mailto:i2rs-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 21 Jun 2016 23:28:53 -0000
Thanks Ravi for the detailed review. Please see comments inline below. I will submit the updated draft once all comments have been satisfactorily resolved. From: Ravi Singh [mailto:ravis@juniper.net] Sent: 2016年5月18日 0:55 To: rtg-dir@ietf.org Cc: 'Jonathan Hardwick'; 'Jon Hudson'; Susan Hares; Zhangxian (Xian) Subject: RE: Routing directorate QA review of draft-ietf-i2rs-rib-info-model Hi I had been designated the RTG-DIR QA-reviewer for https://tools.ietf.org/html/draft-ietf-i2rs-rib-info-model-08 I reviewed this doc. Overall, the doc is clear and does a decent job of creating a RIB model. However, I have a minor concern with the tone of the doc at certain places. The document, at places, reads like a requirements doc specifying what an implementation of the RIB "SHOULD"/MUST do. I am not sure if that is correct form for an informational draft documenting a specific RIB model. Examples of such instances would be: A. Section 8 B. Section 9 NB> Yes, we added SHOULD & MUST to indicate what the data-model needs to implement. There is no separate “requirements” draft for the RIB. C. Wherever in the doc a "SHOULD" or "MUST" shows up stating desirability of certain behavior of an external entity accessing the RIB. NB> The desired behavior was specified using SHOULD/MUST so that inter-op is not an issue. Otherwise people implementing this on the agent and client side might end up having different semantics. An aspect that has not been touched-upon in the document, that however might be worthy of consideration is about how this RIB model accommodates an external input about traffic-statistics-monitoring desired for the various constructs. NB> The external input would go into a “controller”. And the controller would have the “smarts” do take that input into account before programming any rules. So I’m unclear the relationship of that with the RIB model. Maybe you meant something else. Specific comments on the various sections in the text: 1. Introduction: a. First 2 paras: some typos and sentences with redundant words. NB> I fixed a grammar issue….could not find the typos :(. Please help with typo identification. 2. 2.1: a. "type" is somewhat ambiguous. Suggest reword "type" as "address-family" NB> Done 3. 2.2: a. Some sentences could be made shorter/broken-up to improve readability of this section. NB> Updated. b. Interface_list and router-id: For a functioning routing-instance, can't think of a routing-instance without either of those defined. So, either the optionality aspect needs to be changed to "required" or specify how a routing-instance would work with either missing. NB> A routing instance can contain a RIB that has next-hops to other RIBs. That is the reason interface-list and router-id are optional. I can add that clarification in. c. Interface-list: per-interface parameters could also be listed (since the interface-list is called out in a RIB model): address, families, MTU, extensibility-consideration-for-other-interface-attributes NB> Could be. However it was not deemed necessary. 4. 2.3: a. ROUTE_PREFERENCE: The text is mixing-up route-preference with "route-metric". Administrative-distance (the route metric) is the IGP cost of a route. NB> No it’s not. At least one vendor (Juniper) uses route preference and admin distance inter-changeably. See <http://www.juniper.net/documentation/en_US/junos15.1/topics/reference/gene ral/routing-protocols-default-route-preference-values.html> <http://www.juniper.net/documentation/en_US/junos15.1/topics/reference/gener al/routing-protocols-default-route-preference-values.html> <http://www.juniper.net/documentation/en_US/junos15.1/topics/reference/gener al/routing-protocols-default-route-preference-values.html> <http://www.juniper.net/documentation/en_US/junos15.1/topics/reference/gener al/routing-protocols-default-route-preference-values.html> http://www.juniper.net/documentation/en_US/junos15.1/topics/reference/genera l/routing-protocols-default-route-preference-values.html Both route_preference and route-metric would be attributes of the route. NB> Note that there is only 1 value that makes sense when the network device is being programmed by a controller. b. An additional attribute that should be included is "installing protocol". That would require defining a list of protocols that may install a route. NB> "Installing protocol" is something that the controller needs to worry about. A network device should not care about the N different protocols running on the controller. 5. 2.4: a. Second paragraph could use rewording to enhance clarity. Specifically: i. Need to mention about "(appearing to be) directly connected IP" to distinguish between: 1. Nexthops that don't need to be resolved (by other RIB events) to be installable NB> As per the draft…"A resolved nexthop has adequate information to send the outgoing packet to the destination”. So if the controller provides all the information, no further resolution is necessary. 2. Nexthops that need to be resolved (by other RIB events/properties) to be installable: a. Those that are currently resolved b. Those that are currently not-resolved NB> Please provide clarifying/re-wording text… At a macro level, this document is not supposed to be a treatise on the design of nexthops. b. Next-hop property should also include IP of (appearing to be) locally-connected device for which to ARP NB> That is already specified in the grammar <EGRESS_INTERFACE> (<ipv4-address> | <ipv6-address>) 6. 2.4.1: a. Last paragraph: "preceded by" would be more accurate than "followed by" NB> Hmm….I still think followed by is correct. If you want I can change it to “encapsulated by”. 7. 2.4.3: a. Under "tunnel encap": The following text " An optional egress interface can be chained to the tunnel encap to indicate which interface to send the packet out on. The egress interface is useful when the network device contains Ethernet interfaces and one needs to perform address resolution for the IP packet." appears a bit incorrect. If one wishes to do resolution for the tunnel-remote-dst then specifying an interface serves no purpose. Either that address does not need resolution and this specified interface is a p2p interface or there is a need for resolution (without needing to specify an interface-name). Can't be both. NB> Probably some confusion here. If you attach an IP encap to a packet, then before you send it out as an Ethernet frame, you need to fill the Ethernet header. For that you need the address resolution. 8. Sections 4 & 5 can be merged. What is the point of having a separate section 5 when it is not really saying anything new beyond what text exists in section 4. NB> Section 4 talks about “return codes” on commands sent to a network device. Section 5 talks about asynchronous messages sent by the network device (without a corresponding incoming command). That is the difference. 9. Section 6: a. Not repeating remarks made about specific attributes (listed above) for each item in the BNF. Eg. Route-metric/preference related remark made above about 2.3. NB> Didn’t understand this comment. Can you rephrase. b. In-label is not logically a nexthop attribute. It is infact a route. This should be fixed. <mpls-label-operation> ::= (<MPLS_PUSH> <MPLS_LABEL> [<S_BIT>] [<TOS_VALUE>] [<TTL_VALUE>]) | (<MPLS_SWAP> <IN_LABEL> <OUT_LABEL> [<TTL_ACTION>]) NB> The grammar already has content for MPLS style route lookups. <match> ::= <IPV4> <ipv4-route> | <IPV6> <ipv6-route> | <MPLS> <MPLS_LABEL> | <IEEE_MAC> <MAC_ADDRESS> | <INTERFACE> <INTERFACE_IDENTIFIER> <mpls-label-operation> is a type of <tunnel-encap>, which in turn is a type of <nexthop>. The <mpls-label-operation> grammar allows one to perform MPLS SWAP operations on a given packet. So you would first <match> the MPLS label and the nexthop operation for the route would be a SWAP and the grammar above specifies that. c. VXLAN headers needs to have a way to specify src/dst MAC in inner header, since it is possible to use VXLAN as a general-purpose encapsulation without L2-learning semantics. NB> We discussed this offline a while back. The end discussion was that we did not want to provide ways to completely specify L2 frames in the context of RIB info model. Note that the current grammar does not allow you to build a complete ethernet header. 10. Section 6 describes the RIB grammar. The nexthop grammar is a part of that. However, some of that sub-grammar appears under section 7. NB> Section 7 are examples of using the RIB grammar. Sure it could be part of Section 6. It won’t make a meaningful difference either ways. 11. Section 7 "Using the RIB grammar" starts out by explaining how the complex nexthops maybe used. However, it ends up being a listing of the nexthop sub-grammar which should really have been listed in section 6 along with the RIB grammar. I'd suggest either take the entirety of the next-hop grammar listing to the section 6, or break section 7 so that the next-hop grammar is listed in section 7 & the "using the rib" grammar is a purely text only description of Rib/NH grammar maybe used. NB> Section 7 is targeted towards how developers would use the grammar to write network applications. So they should all stay together. For instance, Section 7.3 has all text, but it refers to a “programming example” in Section 7.2.2. So moving Section 7.3 up would do more harm than good. 12. Syntax for <nexthop-replicate> needs to be reconciled beween section 7.2.3 and section 6 where there is an syntax mismatch, Doesn’t section 6 need to say: <nexthop-replicate> ::= <NEXTHOP_REPLICATE> <nexthop> <nexthop> ... NB> Version –06 of the draft had what you are asking for. See <https://tools.ietf.org/html/draft-ietf-i2rs-rib-info-model-06#section-6> <https://tools.ietf.org/html/draft-ietf-i2rs-rib-info-model-06#section-6> https://tools.ietf.org/html/draft-ietf-i2rs-rib-info-model-06#section-6 We were specifically asked to remove the keyword <NEXTHOP_REPLICATE> because it was not correct use of rBNF. The data-model can have such things, but not the info model. Folks were ok with keeping the examples (Section 7) as is. Thanks Nitin
- Re: [i2rs] FW: Routing directorate QA review of d… Nitin Bahadur
- Re: [i2rs] FW: Routing directorate QA review of d… Nitin Bahadur
- Re: [i2rs] FW: Routing directorate QA review of d… Nitin Bahadur
- [i2rs] FW: Routing directorate QA review of draft… Zhangxian (Xian)