Re: [i2rs] I2RS Implementation

"Susan Hares" <shares@ndzh.com> Wed, 13 January 2016 03:04 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 3B00C1B2C6B for <i2rs@ietfa.amsl.com>; Tue, 12 Jan 2016 19:04:46 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -96.392
X-Spam-Level:
X-Spam-Status: No, score=-96.392 tagged_above=-999 required=5 tests=[BAYES_50=0.8, FH_RELAY_NODNS=1.451, HELO_MISMATCH_COM=0.553, HTML_MESSAGE=0.001, RDNS_NONE=0.793, T_DOS_OUTLOOK_TO_MX_IMAGE=0.01, USER_IN_WHITELIST=-100] autolearn=no
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 taFy9gb3G4mC for <i2rs@ietfa.amsl.com>; Tue, 12 Jan 2016 19:04:42 -0800 (PST)
Received: from hickoryhill-consulting.com (unknown [50.245.122.97]) (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 4A6441B2C6A for <i2rs@ietf.org>; Tue, 12 Jan 2016 19:04:42 -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>
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> <CAERpkxAi5Xmhh_d=1_cSy6NgycDR4frR2UpgVvCbiPY9KmjhSw@mail.gmail.com>
In-Reply-To: <CAERpkxAi5Xmhh_d=1_cSy6NgycDR4frR2UpgVvCbiPY9KmjhSw@mail.gmail.com>
Date: Tue, 12 Jan 2016 22:04:37 -0500
Message-ID: <008301d14daf$24f2c300$6ed84900$@ndzh.com>
MIME-Version: 1.0
Content-Type: multipart/related; boundary="----=_NextPart_000_0084_01D14D85.3C21EB20"
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQJXeJYuWd0HUDhL/rLh1LsDsoEt+wKWlWXaAeKrbQkA1K8KTADN4i8aAZdPBwqdrtPWUA==
Content-Language: en-us
X-Authenticated-User: skh@ndzh.com
Archived-At: <http://mailarchive.ietf.org/arch/msg/i2rs/AtEUMTNig9tZX6YoREUmuyWOTyI>
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: Wed, 13 Jan 2016 03:04:46 -0000

Edwin: 

 

I apologize for the delay. I hope to get the code and yang info up by mid-next week. 

 

Sue 

 

From: i2rs [mailto:i2rs-bounces@ietf.org] On Behalf Of Edwin Cordeiro
Sent: Friday, January 08, 2016 4:07 AM
To: Susan Hares
Cc: i2rs@ietf.org
Subject: Re: [i2rs] I2RS Implementation

 

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