Re: [i2rs] I2RS Implementation

Edwin Cordeiro <edwinsc@gmail.com> Sat, 19 December 2015 22:01 UTC

Return-Path: <edwinsc@gmail.com>
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 435031ACD83 for <i2rs@ietfa.amsl.com>; Sat, 19 Dec 2015 14:01:17 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.701
X-Spam-Level:
X-Spam-Status: No, score=0.701 tagged_above=-999 required=5 tests=[BAYES_50=0.8, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=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 nEMsuHAPPKUj for <i2rs@ietfa.amsl.com>; Sat, 19 Dec 2015 14:01:13 -0800 (PST)
Received: from mail-lb0-x22d.google.com (mail-lb0-x22d.google.com [IPv6:2a00:1450:4010:c04::22d]) (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 B12731ACD82 for <i2rs@ietf.org>; Sat, 19 Dec 2015 14:01:12 -0800 (PST)
Received: by mail-lb0-x22d.google.com with SMTP id u9so79893175lbp.2 for <i2rs@ietf.org>; Sat, 19 Dec 2015 14:01:12 -0800 (PST)
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:content-type; bh=/mb6uokPHzHe7nnNokuBjoQSGmknhYdVLCaMeSBFPQA=; b=n4Mx3oKuqMsb8aKmW2TtiDrmKj1YCoib+J2ET44+pLDmnBSeHKrEfVcJikTWpMRVbn JrAHjXyf4MsZb5jduoS+zu7grd0NSZXugwrwawn6sVZnr472mUfRhSxBv6WRj4XCWxug xpZUuW7eERVdR6ju8KYCJ23rb/z6ODSlWUqtNsK/Tev7POHitZhZR2km2BVuJtK9sMZP OzahJh1tkitAOJVF7wf/xRtQPawtK5u3BkP0Sq21ClcOT7B7ouZEXUMbYDQrDJBOXIDC pXWSFdAbOG/O+nPxe6BfIUFB/A4KiFtVoIFIimMusqAZL8rOc2k6t5MikHC3zpJv4r9O 6i7w==
X-Received: by 10.112.72.2 with SMTP id z2mr3777310lbu.5.1450562470571; Sat, 19 Dec 2015 14:01:10 -0800 (PST)
MIME-Version: 1.0
Received: by 10.25.33.14 with HTTP; Sat, 19 Dec 2015 14:00:40 -0800 (PST)
In-Reply-To: <075901d138b5$78f34560$6ad9d020$@ndzh.com>
References: <CAERpkxAy6t5HK1_ksV_Jc1PCW5AszSXkVhwbW4BQSqimfycHFw@mail.gmail.com> <056301d13832$ad830460$08890d20$@ndzh.com> <CAERpkxDq5qeJ8GRLxKNY+X7F42CkEXtDUOctGfErYjg7-=SrUg@mail.gmail.com> <075901d138b5$78f34560$6ad9d020$@ndzh.com>
From: Edwin Cordeiro <edwinsc@gmail.com>
Date: Sat, 19 Dec 2015 23:00:40 +0100
Message-ID: <CAERpkxBQNLqVRND_0OBpgE=FKUNBNniWHxUp39m9OAj-srnF1g@mail.gmail.com>
To: Susan Hares <shares@ndzh.com>
Content-Type: multipart/related; boundary="001a11c33f02c9525b0527476470"
Archived-At: <http://mailarchive.ietf.org/arch/msg/i2rs/0-iBIjuYHq46gbPL3-jxhByjTJA>
Cc: i2rs@ietf.org
Subject: Re: [i2rs] I2RS Implementation
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: Sat, 19 Dec 2015 22:01:17 -0000

Dear Susan,

Thank you. We can wait the files to be upload to the github.

We were planning to implement it directly as part of a software router and
make a program to interact with it, but with your explanation we will
analyze the solution using the ODL environment, before making a decision.

We are in the beginning, so we are not sure and that was the reason we
wanted more information about what happened in the Hackaton.

Best Regards,

Edwin Cordeiro

On Thu, Dec 17, 2015 at 11:27 AM, Susan Hares <shares@ndzh.com> wrote:

> Edwin:
>
>
>
> 1)      I will put the presentation and other work on the hackathon
> github,
>
> 2)      There is a I2RS github where these modules will be uploaded.
> However, Benoit has indicated errors in some of the modules.  After the
> errors have been corrected, drafts (XML plus text) will be uploaded to the
> I2RS git hub.  [This will happen early next week.]
>
>
>
> I can send you a copy of “older” workable I2RS definitions via email, but
> I did not want to put these up on git-hub.
>
>
>
> Could you send more information on your implementation?   Would you be
> willing to work in ODL environment? Or are you working in another
> environment?
>
>
>
> Cheerily,
>
> Sue
>
>
>
> *From:* Edwin Cordeiro [mailto:edwinsc@gmail.com]
> *Sent:* Thursday, December 17, 2015 4:21 AM
> *To:* Susan Hares
> *Cc:* i2rs@ietf.org
> *Subject:* Re: [i2rs] I2RS Implementation
>
>
>
> Hi Susan,
>
>
>
> Thanks for such a complete reply. We got some useful tips from it that
> made us rethink our approach to the implementation.
>
>
>
> The presentation you attached to the message is on the Github of the
> Hackaton, but it wasn't very easy to find. Maybe making pointers at the
> wiki to the presentation in the Github would be a good idea, not only for
> I2RS but for all the other Hackacton projects as well.
>
>
>
> On the Details on the I2RS Steps to Create Application you mentioned the
> step: Compile all the I2RS modules (RIB, Topology (L1/L2) and FB-RIB) with
> web-compile (successfully completed).
>
> If we decide to continue from this step, where can we find those modules?
>
>
>
> Thank you,
>
>
> Edwin Cordeiro
>
>
>
> On Wed, Dec 16, 2015 at 7:50 PM, Susan Hares <shares@ndzh.com> wrote:
>
> Edwin:
>
>
>
> Thank you for your patience. I am thrilled that you have decided to make
> an I2RS implementation.
>
> Did you find the slides that I attached on the hackathon site?
>
> 1.       What means “Most helpful failure” that I2RS won at IETF94
> hackathon
>
> 2.        Why it failed? – we did not get the ODL environment up.
> Initial input had been that the ODL environment had RESTCONF, Topology
> models, and RIB,
>
> 3.        We are considering to implement it for BIRD (or Quagga). Do you
> know any other implementation effort?
>
>
>
> I would suggest that the most important thing is to setting the ODL
> environment, Linux OS, and then pick the routing work.  I believe that ODL
> is using Quagga, but that BIRD can also be used.
>
>
>
> Since the I2RS RIB, I2RS Topology models, and I2RS FB can be directly
> implement as calls to a kernel directly (route/add)  or as extended static,
> we might want to start by setting on Quagga.
>
>
>
> *Details on the Hackathon *
>
>
>
> The I2RS protocol hack-a-thon team won a prize for its hack-a-thon work.
> The members of the hack-a-thon team were Susan Hares (Huawei, lead) Jie
> Dong (Huawei), Alia Atlas, Hariharan Ananthakrishnan (Packet-design), and
> Ignas Bagdonas (consultant).
>
>
>
> *Goal:* The goal of the I2RS protocol hack-a-thon project was to create
> an application with 2 I2RS Clients which communicated with an I2RS Agent.
> I2RS Client 1 would set a route in the I2RS RIB in the I2RS Agent, and
> request publication of route change information from the I2RS Agent to be
> sent to I2RS Client 2.   (see the diagram below)
>
>
>
> *Code base: *
>
> The code base for this hack-a-thon project was the ODL project.  The I2RS
> project was able to create Yang modules, but failed to create an ODL
> environment.   The reason we choose ODL is that the Cisco team (Jan Medved
> and others) have done considerable instrumentation of the Topology Data
> models in ODL.  We hope to leverage their work.
>
>
>
> *Next steps:* The I2RS project for hack-a-thon at IETF 95 will need to
> spend time creating the ODL environment ahead of time.
>
>
>
> *Insights gained:* The group’s work at the IETF 94 hackathon caused the
> I2RS project team to realize that the I2RS protocol work has two
> components: configuration and reporting of analytical data such as “route
> changes”.  The I2RS protocol work to-date has focused on the
> RESTCONF/NETCONF capabilities for configuration, query/poll information,
> and subscription configuration.  It has not focused on the reporting of
> route changes via other publication methods (ipfix, google protocol
> buffers, or other mechanisms).  The I2RS team realized that the secondary
> pathways to send analytical data (such as topology or route changes) need
> to be included in the first round of the protocol and data models.
>
>
>
> We would really like to have you consider working on configuration
> (RESTCONF/NETCONF) with the ODL, Quagga/Bird, and an analytic tools.   For
> example, let’s try developing a DOS that is based on detection of a bad
> prefix and then installing a static route.
>
>
>
> *Why the win: *
>
> The I2RS team won an award for gaining this understanding that we had not
> paid enough attention to the analytical channel.  The I2RS WG will solicit
> WG drafts with these application notes in order to provide a “hand-book”
> for creating I2RS applications.
>
>
>
> *Details on the I2RS Steps to Create Application *
>
> In order to create this application, the I2RS hack-a-thon project needed
> to:
>
> 1.       Compile all the I2RS modules (RIB, Topology (L1/L2) and FB-RIB)
> with web-compile (successfully completed)
>
> 2.       Create an ODL environment and place the I2RS modules in the ODL
> environment (failed)
>
> 3.       Create an ODL-based I2RS client (Client 1) that can send an I2RS
> RIB Route Add, and subscription for I2RS Route Change via RESTCONF,
>
> 4.       Create an I2RS Agent that receives the I2RS RIB Route Add and
> I2RS RIB Route Change notification from I2RS Client 1.  The I2RS agent then
> adds routes to the I2RS RIB and the Ubuntu Linux kernel.  The I2RS agent
> saves subscription information.
>
> 5.        A route change is triggered by configuring the interface down
> that the I2RS RIB route is associated with.
>
> •                                 The I2RS Agent should send the route
> change information over the grpc. .   Note: Alternatives to google protocol
> buffers are google protocol buffers, IPFIX, NETFLOW and other protocols.
>
>                                     Next Step
>
> •                                 Prior to IETF-95 Hack-a-thon, a
> prototype of this work should be created on an ODL platform,
>
> •                                 Cisco, Juniper, Packet-design, and
> others are interested in an I2RS project in ODL.
>
> •                                 Expand the route change information to
> include IPFIX or other high-bandwidth protocols that
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> I look forward to your feedback and comments.
>
>
>
> Sue Hares
>
>
>
> *From:* i2rs [mailto:i2rs-bounces@ietf.org] *On Behalf Of *Edwin Cordeiro
> *Sent:* Wednesday, December 16, 2015 10:44 AM
> *To:* i2rs@ietf.org
> *Subject:* [i2rs] I2RS Implementation
>
>
>
> Hello all,
>
>
>
> A couple weeks ago, I sent a message asking about the IETF 94 Hackaton
> results related to I2RS, but got no reply. As I was also unable to find any
> implementation, we decided to make one here at TU Munich.
>
>
>
> In order to avoid the same known problems discovered at the Hackaton,
> could anyone please clarify what happened:
>
> 1. What means “Most Helpful Failure” that I2RS won IETF 94 Hackaton?
>
> 2. Why it failed?
>
> 3. We are considering to implement it for BIRD (or Quagga). Do you know
> any other implementation effort?
>
>
>
> Thank you all,
>
> Edwin Cordeiro
>
>
>
>
>