Re: [i2rs] I2RS Implementation

Edwin Cordeiro <edwinsc@gmail.com> Thu, 17 December 2015 09:21 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 A1C991A7D84 for <i2rs@ietfa.amsl.com>; Thu, 17 Dec 2015 01:21:42 -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 YD4vN6JuaR0J for <i2rs@ietfa.amsl.com>; Thu, 17 Dec 2015 01:21:36 -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 B76F31A7D82 for <i2rs@ietf.org>; Thu, 17 Dec 2015 01:21:35 -0800 (PST)
Received: by mail-lf0-x234.google.com with SMTP id l133so47237613lfd.2 for <i2rs@ietf.org>; Thu, 17 Dec 2015 01:21:35 -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=yojbVazV4q3KJq3lca3J0pyqvnd+JIxYVJwS0Y0lMBM=; b=gED+8faSkH/FuvSCliPXNqKR9CfszesF/5Jved+nEXtBDnZmwMHFRBX/ljfij7PWZu 9g71ZG5RUqFz8jXgb/aDHBScLmfBT6pLef7nP09qTReA4nx8FvS1yaR2NqgQSu6YUvZA KNM1r7JONAtdZtnRd3+PmnWuacjRG8xQDmL5MSlZ/oJNAU9GHIBAEChVYmv4qrqH9Yly gb+Acfz7Z23Hp1Z0RXDPkKGM8N0/7ch8n+1fLGmUI03PoUspzorYErmlWEsjbvc5fogS uILAj/+X0JGQgsFG2aUYGAZInG/aqtldm77zNP6Z5ShrDK7OQiVdE9GFJbh8QHVdNql4 fc1Q==
X-Received: by 10.25.42.20 with SMTP id q20mr18411371lfq.158.1450344093846; Thu, 17 Dec 2015 01:21:33 -0800 (PST)
MIME-Version: 1.0
Received: by 10.25.33.14 with HTTP; Thu, 17 Dec 2015 01:21:03 -0800 (PST)
In-Reply-To: <056301d13832$ad830460$08890d20$@ndzh.com>
References: <CAERpkxAy6t5HK1_ksV_Jc1PCW5AszSXkVhwbW4BQSqimfycHFw@mail.gmail.com> <056301d13832$ad830460$08890d20$@ndzh.com>
From: Edwin Cordeiro <edwinsc@gmail.com>
Date: Thu, 17 Dec 2015 10:21:03 +0100
Message-ID: <CAERpkxDq5qeJ8GRLxKNY+X7F42CkEXtDUOctGfErYjg7-=SrUg@mail.gmail.com>
To: Susan Hares <shares@ndzh.com>
Content-Type: multipart/related; boundary="001a1141154284386d0527148c9c"
Archived-At: <http://mailarchive.ietf.org/arch/msg/i2rs/FR_YeM1p99LsBut5qd2UJicG7hU>
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: Thu, 17 Dec 2015 09:21:42 -0000

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