Re: [i2rs] I2RS Implementation

"Susan Hares" <shares@ndzh.com> Wed, 16 December 2015 18:56 UTC

Return-Path: <shares@ndzh.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 4807C1A88CB for <i2rs@ietfa.amsl.com>; Wed, 16 Dec 2015 10:56:57 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -99.189
X-Spam-Level:
X-Spam-Status: No, score=-99.189 tagged_above=-999 required=5 tests=[BAYES_50=0.8, HTML_MESSAGE=0.001, T_DOS_OUTLOOK_TO_MX_IMAGE=0.01, USER_IN_WHITELIST=-100] 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 F_5tRDXkaxfP for <i2rs@ietfa.amsl.com>; Wed, 16 Dec 2015 10:56:52 -0800 (PST)
Received: from hickoryhill-consulting.com (hhc-web3.hickoryhill-consulting.com [64.9.205.143]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5414F1A8877 for <i2rs@ietf.org>; Wed, 16 Dec 2015 10:53:07 -0800 (PST)
X-Default-Received-SPF: pass (skip=loggedin (res=PASS)) x-ip-name=74.43.47.177;
From: Susan Hares <shares@ndzh.com>
To: 'Edwin Cordeiro' <edwinsc@gmail.com>, i2rs@ietf.org
References: <CAERpkxAy6t5HK1_ksV_Jc1PCW5AszSXkVhwbW4BQSqimfycHFw@mail.gmail.com>
In-Reply-To: <CAERpkxAy6t5HK1_ksV_Jc1PCW5AszSXkVhwbW4BQSqimfycHFw@mail.gmail.com>
Date: Wed, 16 Dec 2015 13:50:47 -0500
Message-ID: <056301d13832$ad830460$08890d20$@ndzh.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_NextPart_000_0564_01D13808.C4B19040"
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQJXeJYuWd0HUDhL/rLh1LsDsoEt+53BSs8A
Content-Language: en-us
X-Authenticated-User: skh@ndzh.com
Archived-At: <http://mailarchive.ietf.org/arch/msg/i2rs/KDvuzS3B_cvyF6nA-zZkKE3Ibo4>
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: Wed, 16 Dec 2015 18:56:59 -0000

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