Re: [i2rs] draft-ietf-i2rs-rib-info-model-07 - WG LC from (10/6 to 10/20/2015)

"Jeffrey (Zhaohui) Zhang" <zzhang@juniper.net> Wed, 07 October 2015 15:59 UTC

Return-Path: <zzhang@juniper.net>
X-Original-To: i2rs@ietfa.amsl.com
Delivered-To: i2rs@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BE88F1ACCE5 for <i2rs@ietfa.amsl.com>; Wed, 7 Oct 2015 08:59:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_HELO_PASS=-0.001, 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 YQAyKcMXc-qm for <i2rs@ietfa.amsl.com>; Wed, 7 Oct 2015 08:59:20 -0700 (PDT)
Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1bon0737.outbound.protection.outlook.com [IPv6:2a01:111:f400:fc10::1:737]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 99AC61ACCE6 for <i2rs@ietf.org>; Wed, 7 Oct 2015 08:59:17 -0700 (PDT)
Received: from CY1PR0501MB1721.namprd05.prod.outlook.com (10.163.140.158) by CY1PR0501MB1724.namprd05.prod.outlook.com (10.163.140.18) with Microsoft SMTP Server (TLS) id 15.1.293.16; Wed, 7 Oct 2015 15:58:57 +0000
Received: from CY1PR0501MB1721.namprd05.prod.outlook.com ([10.163.140.158]) by CY1PR0501MB1721.namprd05.prod.outlook.com ([10.163.140.158]) with mapi id 15.01.0293.007; Wed, 7 Oct 2015 15:58:57 +0000
From: "Jeffrey (Zhaohui) Zhang" <zzhang@juniper.net>
To: Susan Hares <shares@ndzh.com>, "i2rs@ietf.org" <i2rs@ietf.org>
Thread-Topic: [i2rs] draft-ietf-i2rs-rib-info-model-07 - WG LC from (10/6 to 10/20/2015)
Thread-Index: AdEAlyAxuYWhD++/Qk2AqdHuY4uxjAAbQ4EQ
Date: Wed, 07 Oct 2015 15:58:57 +0000
Message-ID: <CY1PR0501MB1721BE96BF56DD4FF93F5462D4360@CY1PR0501MB1721.namprd05.prod.outlook.com>
References: <009a01d10098$2b03bfb0$810b3f10$@ndzh.com>
In-Reply-To: <009a01d10098$2b03bfb0$810b3f10$@ndzh.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=zzhang@juniper.net;
x-originating-ip: [66.129.241.11]
x-microsoft-exchange-diagnostics: 1; CY1PR0501MB1724; 5:8js58R8qsllqtxl+RFQFqqsi914Ur5FR5xnum5CckWqTk7dE+1XOoB6Vz5oSly04GekxdJBojxCTKHJtujI1GzHfq1w2zIMI6wAAlngsiJwETs4GxCIrRlWSThYgcIpEHl/7ITKxHpE2dmYcTZOgAA==; 24:WHsGi/TS7gWQHG1cnFDi6D3cICeD4wrMaN54o8NibwZEIadJP4JZv/CMBODSUfHPrKqki+FZQ8xXMxbonUp8gLk8pW0XewLQYrXf9stYhKA=; 20:nJDm6hyq1yMuOryoUBvG2tJ+bYaVolIk8I7I/M3CPVBjLLS54QTuKQXujLVxcbmRJEL0tWYvdNTG3EZzrJADYQ==
x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0501MB1724;
x-microsoft-antispam-prvs: <CY1PR0501MB1724E41061308E946E7CA1C6D4360@CY1PR0501MB1724.namprd05.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(108003899814671);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(520078)(8121501046)(3002001); SRVR:CY1PR0501MB1724; BCL:0; PCL:0; RULEID:; SRVR:CY1PR0501MB1724;
x-forefront-prvs: 0722981D2A
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(199003)(377454003)(189002)(479174004)(5423002)(74316001)(5001770100001)(40100003)(5008740100001)(81156007)(66066001)(86362001)(77096005)(97736004)(11100500001)(64706001)(99286002)(76176999)(101416001)(92566002)(15975445007)(2501003)(54356999)(50986999)(105586002)(5002640100001)(33656002)(19300405004)(189998001)(16236675004)(102836002)(5001960100002)(5004730100002)(19580405001)(10400500002)(106356001)(87936001)(19580395003)(5007970100001)(19617315012)(76576001)(5003600100002)(19625215002)(230783001)(2900100001)(2950100001)(122556002)(46102003)(19609705001); DIR:OUT; SFP:1102; SCL:1; SRVR:CY1PR0501MB1724; H:CY1PR0501MB1721.namprd05.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en;
received-spf: None (protection.outlook.com: juniper.net does not designate permitted sender hosts)
spamdiagnosticoutput: 1:23
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_CY1PR0501MB1721BE96BF56DD4FF93F5462D4360CY1PR0501MB1721_"
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Oct 2015 15:58:57.1288 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0501MB1724
Archived-At: <http://mailarchive.ietf.org/arch/msg/i2rs/hJd4wr6O3ZAkz_ctGDFU9y6zfm4>
Cc: 'Nitin Bahadur' <nitin_bahadur@yahoo.com>, "sriganesh.kini@ericsson.com" <sriganesh.kini@ericsson.com>
Subject: Re: [i2rs] draft-ietf-i2rs-rib-info-model-07 - WG LC from (10/6 to 10/20/2015)
X-BeenThere: i2rs@ietf.org
X-Mailman-Version: 2.1.15
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: Wed, 07 Oct 2015 15:59:25 -0000

I have following questions/comments. I'll have a separate email on Sue's question 3).


   When writing an object to a RIB, the external entity SHOULD try to

   write all dependencies of the object prior to sending that object.

   The data-model MUST support requesting identifiers for nexthops and

   collecting the identifiers back in the response.



Apparently this is different from Sue's understanding (see other email thread "RE: [i2rs] RIB Info/Data model questions: nexthop-id", so this needs to be straightened out.



   The RIB data-model SHOULD support

   a way to optionally receive a nexthop identifier for a given nexthop.



Earlier it says "MUST" and now it's "SHOULD".



2.4.3.  Nexthop content



   At the lowest level, a nexthop can be one of:

   o  identifier: This is an identifier returned by the network device

      representing another nexthop or another nexthop chain.



"or another nexthop chain" should be removed. "another nexthop" covers everything.



   o  tunnel encap: This can be an encap representing an IP tunnel or

      MPLS tunnel or others as defined in this document.  An optional

      egress interface can be specified 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.



I don't think an egress interface should be part of the tunnel encap. The egress interface and optionally a nbr address should be in a separate chain member.



2.4.3's title is "nexthop content" but it focuses on nexthops at the "lowest level". 2.4.4 is about "special nexthops" and that should be folded into 2.4.3 (since special nexthops are at the "lowest level").



       <match> ::= <route-type> (<ipv4-route> | <ipv6-route> | <mpls-route> |

                           <mac-route> | <interface-route>)

       <match> ::= <IPV4> <ipv4-route> | <IPV6> <ipv6-route> |

             <MPLS> <MPLS_LABEL> | <IEEE_MAC> <MAC_ADDRESS> |

             <INTERFACE> <INTERFACE_IDENTIFIER>



We have two rules for <match> here. They are equivalent and one should be removed.



       <ip-route-type> ::= <SRC> | <DEST> | <DEST_SRC>



Is there a real need for <src> routes? What's the real difference between <src> and <dest> routes?



    <nexthop-base> ::= <nexthop-special> | <nexthop-chain>





    <nexthop-chain> ::= <nexthop-chain-member> ...

    <nexthop-chain-identifier> ::= <NEXTHOP_CHAIN_NAME> |

                                <NEXTHOP_CHAIN_ID>



When would you use "chain_name"? What's the difference/relationship between <NEXTHOP_CHAIN_ID> and nexthop-identifier?



    <nexthop-chain-member> ::= <nexthop-chain-member-identifier> |

                <EGRESS_INTERFACE> |

                <ipv4-address> | <ipv6-address> |

                (<EGRESS_INTERFACE> (<ipv4-address> | <ipv6-address>)) |

                (<EGRESS_INTERFACE> <IEEE_MAC_ADDRESS>) |

                (<tunnel-encap> [<EGRESS_INTERFACE>]) |

                <logical-tunnel> |

                <RIB_NAME>)



The above model makes it that even the very basic nexthops are defined through nexthop-chain - unnecessary twist and it leads to unnatural representation when it comes to the data model (e.g. the chain is a list and each list entry has a client-assigned ID as key).



As section 2.4.2 alluded to, all the above "nexthop-chain-member" are just basic nexthops shoulder to shoulder with "nexthop-special". Therefore, the following model would be more natural?



  <nexthop> ::= <nexthop-base> |

                <nexthop-chain> |      <-- new

                <nexthop-replicate> |

                <nexthop-lb> |

                <nexthop-protection>



  <nexthop-base> ::= <nexthop-special> |

                     <nexthop-identifier> |

                     <egress-interface> |

                     ...

                     <logical-tunnel> |

                     <RIB_NAME>



  <nexthop-chain> ::= <nexthop>...



-----------------------------



<mpls-header> ::= (<mpls-label-operation> ...)

<mpls-label-operation> ::= (<MPLS_PUSH> <MPLS_LABEL> [<S_BIT>]

                            [<TOS_VALUE>] [<TTL_VALUE>]) |

                            (<MPLS_POP> [<TTL_ACTION>])



<mpls-header> is part of <tunnel-encap> - so <MPLS_POP> does not make sense?



-----------------------------



   A backup can also have another backup.  In such a case, the list will

   look like:



   <nexthop> ::= <NEXTHOP_PROTECTION> (<1> <nexthop>

                 <2> <nexthop> <3> <nexthop>)



Unless it meant "A PRIMAY can also have another backup", shouldn't the above be the following?



      <nexthop> :: = <NEXTHOP_PROTECTION> (<1> <nexthhop> <2> <NEXTHOP_PROTECTION>(<1> <nexthop> <2> <nexhop>))

Jeffrey

From: i2rs [mailto:i2rs-bounces@ietf.org] On Behalf Of Susan Hares
Sent: Tuesday, October 06, 2015 8:36 PM
To: i2rs@ietf.org
Cc: 'Nitin Bahadur' <nitin_bahadur@yahoo.com>; sriganesh.kini@ericsson.com
Subject: [i2rs] draft-ietf-i2rs-rib-info-model-07 - WG LC from (10/6 to 10/20/2015)

This begins a 2 week WG LC on draft-ietf-i2rs-rib-info-model-07.txt.   You can obtain the document by going to:
http://datatracker.ietf.org/doc/draft-ietf-i2rs-rib-info-model/

The question you should consider:


1)      Does this RIB info-model work will for read query and write query for small number of routes (1-10 routes)?

2)      Does this RIB info-model work for a large number of routes 100,000 routes?

3)      Is the next-hop methodology support everything you wish in the I2RS RIB?

4)      The default mode for I2RS transport is a secure encrypted transport.  Does this information model need to have any portion of the model available over an insecure transport?

Sue Hares