Re: [i2rs] I2RS Implementation

Edwin Cordeiro <edwinsc@gmail.com> Fri, 08 January 2016 09:07 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 66B2D1ACEDD for <i2rs@ietfa.amsl.com>; Fri, 8 Jan 2016 01:07:19 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 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, 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 kK7a5h1VOoDf for <i2rs@ietfa.amsl.com>; Fri, 8 Jan 2016 01:07:15 -0800 (PST)
Received: from mail-lf0-x234.google.com (mail-lf0-x234.google.com [IPv6:2a00:1450:4010:c07::234]) (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 AF5471ACEDC for <i2rs@ietf.org>; Fri, 8 Jan 2016 01:07:14 -0800 (PST)
Received: by mail-lf0-x234.google.com with SMTP id m198so23874963lfm.0 for <i2rs@ietf.org>; Fri, 08 Jan 2016 01:07:14 -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=H8ggllXpFZUwIlN6FPN+4OWXM4JMaNVqmzuSyI5Rnr8=; b=c6W/q6E3YK7S8i14pwq79e5JTTuEYrlXSmIS3XCt/6Vk+Uozfo6FY5Dm/LUVW+UCq/ jvfZiVeeMmBobbOevPC9vHTvy4fPdi6XX3wP4OPVbS8DGBIIpy+Mnki0pmG73F8g53u3 WvseVXFC3vJo8toAxxjBJIZBgi+HCg2KLbVrMdT7ZTKDH3lorne/pbc6U0H57HP4VWoR eCSjg7q0vRuX29eH3oBx7DRNYMTEMwqmS0ZPGW93up94J9ivUs2iCrIVyFnvptOPwCAq FzXK85ty1InchzTznfFlRo0O04MjEbdjYr+w9D+7djR/b51i8VlAQmigCxbPzj6NYl5u Nj8Q==
X-Received: by 10.25.7.206 with SMTP id 197mr40320969lfh.2.1452244032743; Fri, 08 Jan 2016 01:07:12 -0800 (PST)
MIME-Version: 1.0
Received: by 10.25.66.214 with HTTP; Fri, 8 Jan 2016 01:06:42 -0800 (PST)
In-Reply-To: <CAERpkxBQNLqVRND_0OBpgE=FKUNBNniWHxUp39m9OAj-srnF1g@mail.gmail.com>
References: <CAERpkxAy6t5HK1_ksV_Jc1PCW5AszSXkVhwbW4BQSqimfycHFw@mail.gmail.com> <056301d13832$ad830460$08890d20$@ndzh.com> <CAERpkxDq5qeJ8GRLxKNY+X7F42CkEXtDUOctGfErYjg7-=SrUg@mail.gmail.com> <075901d138b5$78f34560$6ad9d020$@ndzh.com> <CAERpkxBQNLqVRND_0OBpgE=FKUNBNniWHxUp39m9OAj-srnF1g@mail.gmail.com>
From: Edwin Cordeiro <edwinsc@gmail.com>
Date: Fri, 08 Jan 2016 10:06:42 +0100
Message-ID: <CAERpkxAi5Xmhh_d=1_cSy6NgycDR4frR2UpgVvCbiPY9KmjhSw@mail.gmail.com>
To: Susan Hares <shares@ndzh.com>
Content-Type: multipart/related; boundary="001a113eaf32b3aa670528cee94f"
Archived-At: <http://mailarchive.ietf.org/arch/msg/i2rs/RMJ75ujbswe8eYQGgucjREDLdUo>
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: Fri, 08 Jan 2016 09:07:19 -0000

Hello Susan,

Hope you had good holidays.

We are returning to work and I went to look for the modules in the github,
but I was unable to find.

If they were uploaded, could please share the link?

Thank you,


Edwin Cordeiro

On Sat, Dec 19, 2015 at 11:00 PM, Edwin Cordeiro <edwinsc@gmail.com> wrote:

> 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
>>
>>
>>
>>
>>
>
>