Re: [i2rs] Problem using rib-data-model RPC with rib-info-model Information (draft-ietf-i2rs-rib-data-model-05 + draft-ietf-i2rs-rib-info-model-08)

Edwin Cordeiro <edwinsc@gmail.com> Mon, 27 June 2016 08:02 UTC

Return-Path: <edwinsc@gmail.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 6987B12D08F for <i2rs@ietfa.amsl.com>; Mon, 27 Jun 2016 01:02:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 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_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 pdsY4EYDBC2X for <i2rs@ietfa.amsl.com>; Mon, 27 Jun 2016 01:02:44 -0700 (PDT)
Received: from mail-wm0-x22a.google.com (mail-wm0-x22a.google.com [IPv6:2a00:1450:400c:c09::22a]) (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 66CB612D08C for <i2rs@ietf.org>; Mon, 27 Jun 2016 01:02:43 -0700 (PDT)
Received: by mail-wm0-x22a.google.com with SMTP id v199so88919521wmv.0 for <i2rs@ietf.org>; Mon, 27 Jun 2016 01:02:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=23RKFLEU8oe1KX+/R52rofVlQ0QLB8hnzC0sCYD9dr0=; b=bel0zZRVjmJDrjIRb0IW/DEYeBjF8v0jH+mGPvNDFISMIFLmkgL2Ra+QDkXQOfJtRi 6jSfAPWeikljac2RJOmx29gkxsFk3lO6rvpofV38x6eN/qLGzZZAiUpfAE4dIed1/haR 8cNy1Wmy0kVurzChqkdDa/loX0qUdcKIZ2F9juCMiNbGdsERtB8NB1tFc4JswxLSP0Hq KXSilzFEMPuL0jLYC4+4bdVnWnxELaGNsVsk8AtvH8H0FfKNWTamonOuwLrwFUllhnKi qrZKi5dnkGOGJgkreRvbKlQH4OBGqvu6zfWXwlqzgLuFKQpdf5qaO3tX9QXT8GApl5Eh cYLA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=23RKFLEU8oe1KX+/R52rofVlQ0QLB8hnzC0sCYD9dr0=; b=eARPOhhaTz+QvJ7ku80ygvE7LPn34r1IOEc51wE5V7/gaYM0nMp+xylWrGPsMU+5/s 6RGJLhrxqiKTFq1OUkIjGGpQcT/yQT6eDaJWX0hhcj3vRnwz25zG8HESQ1jM5B+6/6aG frAo7It29yJg4GL6jM0W3Hdf5wUqTxdlTJ8FV6XWvF7edsFr5apboqusD1hLPddJ5Sj/ X0lEM1/5jre8gnoHgO+qrNWj/RCpCd21alAzESYbeyqhsdoTbOAH3ROT3fLgAiIhc/xE 8z3WdXl7zdjgrJkjuFic9s5ESunZ/l5bYzRl7v02JUELJxw7EVGjedDshApGGJ6VM+ws 4Log==
X-Gm-Message-State: ALyK8tJt3jgeypRjcAV8o1sBi8KYxkDl59Jg+1R6D4fER2HRwXRKEFIIrx9KljvrqNR1psAwprJKzlONGHQQUA==
X-Received: by 10.194.134.230 with SMTP id pn6mr14384164wjb.165.1467014561721; Mon, 27 Jun 2016 01:02:41 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.28.113.74 with HTTP; Mon, 27 Jun 2016 01:02:12 -0700 (PDT)
In-Reply-To: <F73A3CB31E8BE34FA1BBE3C8F0CB2AE28CC874DA@SZXEMA510-MBX.china.huawei.com>
References: <CAERpkxAbLVf5OkGPOkixGh9xi3qMutqp1puJzTbZzvn+VhOhqg@mail.gmail.com> <F73A3CB31E8BE34FA1BBE3C8F0CB2AE28CC869E0@SZXEMA510-MBX.china.huawei.com> <CAERpkxBM+UgN-Y2nq=xQ1qRxUVtS0F0QrZDj9WNy9FWyf6TWbA@mail.gmail.com> <F73A3CB31E8BE34FA1BBE3C8F0CB2AE28CC874DA@SZXEMA510-MBX.china.huawei.com>
From: Edwin Cordeiro <edwinsc@gmail.com>
Date: Mon, 27 Jun 2016 10:02:12 +0200
Message-ID: <CAERpkxD_LA1qQXqaVgFkG18CPoBVYLwU1u8Wak8nSoh7BQBTYQ@mail.gmail.com>
To: Mach Chen <mach.chen@huawei.com>
Content-Type: multipart/alternative; boundary="089e01175e81d4f47605363df1f5"
Archived-At: <https://mailarchive.ietf.org/arch/msg/i2rs/WbrHIgCh92LApZWLYjcPkHEQKsw>
Cc: i2rs <i2rs@ietf.org>
Subject: Re: [i2rs] Problem using rib-data-model RPC with rib-info-model Information (draft-ietf-i2rs-rib-data-model-05 + draft-ietf-i2rs-rib-info-model-08)
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: Mon, 27 Jun 2016 08:02:46 -0000

Hi Mach,

I mean the RIB should have a group of a nexthops and a group of routes and
while the draft stated nexthop as part of the route.

I my understanding each route would indicate which of the existing nexthops
it uses, allowing a nexthop to be shared by multiple routes without having
multiple copies of the same next hop.

I don't think my statement contradicts your understand.

Best Regards,


Edwin Cordeiro

On Mon, Jun 27, 2016 at 4:22 AM, Mach Chen <mach.chen@huawei.com> wrote:

> Hi Edwin,
>
>
>
> Could you elaborate more about the mean of “nexthops should be handled
> separated to routes” ?
>
>
>
> In my understanding, the nexthop-add/delete RPC s are designed to operate
> the nexthop separately.  Of cause, a nexthop list node should be added to
> the rib, hence to maintain the added nexthops.
>
>
>
> Best regards,
>
> Mach
>
>
>
> *From:* Edwin Cordeiro [mailto:edwinsc@gmail.com]
> *Sent:* Saturday, June 25, 2016 3:25 PM
> *To:* Mach Chen
> *Cc:* i2rs
> *Subject:* Re: [i2rs] Problem using rib-data-model RPC with
> rib-info-model Information (draft-ietf-i2rs-rib-data-model-05 +
> draft-ietf-i2rs-rib-info-model-08)
>
>
>
> Hi Mach,
>
>
>
> Thanks for the explanation. We thought that nexthops should be handled
> separated to routes, but that wasn't reflected in the draft.
>
>
>
> Best Regards,
>
>
>
>
> Edwin Cordeiro
>
>
>
> On Fri, Jun 24, 2016 at 5:08 AM, Mach Chen <mach.chen@huawei.com> wrote:
>
> Hi Edwin,
>
>
>
> Thanks for your great question!
>
>
>
> I think this is a bug of the current model, there should be a list in a
> rib to maintain the nexthops of the rib.
>
>
>
> Regarding your question: “How can we add a Nexthop without informing the
> parent Route?” Yes, a nexthop can be created without informing the parent
> routes. In the current design, the nexthop is decoupled from the routes. A
> nexthop can be shared by multiple routes or is dedicated to a single route.
>
>
>
> Best regards,
>
> Mach
>
>
>
> *From:* i2rs [mailto:i2rs-bounces@ietf.org] *On Behalf Of *Edwin Cordeiro
> *Sent:* Wednesday, June 22, 2016 3:44 PM
> *To:* i2rs
> *Subject:* [i2rs] Problem using rib-data-model RPC with rib-info-model
> Information (draft-ietf-i2rs-rib-data-model-05 +
> draft-ietf-i2rs-rib-info-model-08)
>
>
>
> Hello all,
>
>
>
> When trying to implement I2RS we are faced the following problem:
>
>
>
> In draft-ietf-i2rs-rib-data-model-05#section-2.5 the RPC offer the
> following Nexthop operations:
>
>       +---x nh-add
>
>       |  +---w input
>
>       |  |  +---w rib-name              string
>
>       |  |  +---w nexthop-id?           uint32
>
>       |  |  +---w sharing-flag?         boolean
>
>       |  |  +---w (nexthop-type)?
>
>       |  |     ...
>
>       |  +--ro output
>
>       |     +--ro result        uint32
>
>       |     +--ro reason?       string
>
>       |     +--ro nexthop-id?   uint32
>
>       +---x nh-delete
>
>          +---w input
>
>          |  +---w rib-name              string
>
>          |  +---w nexthop-id?           uint32
>
>          |  +---w sharing-flag?         boolean
>
>          |  +---w (nexthop-type)?
>
>          |     ...
>
>          +--ro output
>
>             +--ro result uint32
>
>             +--ro reason? string
>
>
>
> In these operations the Nexthop is directly connected to a RIB, but
> in draft-ietf-i2rs-rib-info-model-08#section-2: RIB(s) contains Route(s)
> and Route(s) contains Nexthop(s):
>
>
>
>             routing-instance
>
>             |             |
>
>             |             |
>
>       0..N  |             | 1..N
>
>             |             |
>
>         interface(s)     RIB(s)
>
>                           |
>
>                           |
>
>                           | 0..N
>
>                           |
>
>                         route(s)
>
>                         | | |
>
>               +---------+ | +----------+
>
>               |           |            |
>
>          0..N |           |            |
>
> route-attribute         match         nexthop
>
>                           |
>
>                          ...
>
>
>
> Our questions are:
>
> - How can we add a Nexthop without informing the parent Route?
>
> - Looking at the RIB grammar (draft-ietf-i2rs-rib-info-model-08#section-6)
> the Nexthop is also attached to a Route. Shouldn't Nexthop be part of RIB?
> Maybe something like:
>
>
>
>   <rib> ::= <RIB_NAME> <rib-family>
>
>                       [<route> ... ]
>
>                       [<nexthop> ...]
>
>                       [ENABLE_IP_RPF_CHECK]
>
>
>
>             routing-instance
>
>             |      |
>
>             |      |
>
>       0..N  |      | 1..N
>
>             |      |
>
>     interface(s)  RIB(s)
>
>                    |  | 0..N
>
>                    |  +--------------+
>
>               0..N |                 |
>
>                    |                 |
>
>                  route(s) ------> nexthop(s)
>
>                  | |       1..N
>
>        +---------+ |
>
>        |           |
>
>   0..N |           |
>
> route-attribute  match
>
>                    |
>
>                   ...
>
>
>
> If we misunderstood the model, could someone please explain why our
> understanding is incorrect?
>
>
>
> Best Regards,
>
>
> Edwin Cordeiro
>
>
>