Re: [Coin] P4 runtime etc.

<hemant@mnkcg.com> Sun, 21 July 2019 12:59 UTC

Return-Path: <hemant@mnkcg.com>
X-Original-To: coin@ietfa.amsl.com
Delivered-To: coin@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 24DA312004E for <coin@ietfa.amsl.com>; Sun, 21 Jul 2019 05:59:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=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 lvYQ2z4vv_w1 for <coin@ietfa.amsl.com>; Sun, 21 Jul 2019 05:59:06 -0700 (PDT)
Received: from web033.dnchosting.com (web033.dnchosting.com [199.7.109.33]) (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 DD316120020 for <coin@irtf.org>; Sun, 21 Jul 2019 05:59:05 -0700 (PDT)
Received: from c-98-229-163-41.hsd1.ma.comcast.net ([98.229.163.41]:54448 helo=hemantPC) by web033.dnchosting.com with esmtpsa (TLSv1.2:AES128-SHA256:128) (Exim 4.92) (envelope-from <hemant@mnkcg.com>) id 1hpBQV-00E24K-Qw; Sun, 21 Jul 2019 07:59:02 -0500
Reply-To: <hemant@mnkcg.com>
From: <hemant@mnkcg.com>
To: "'Andrew Alston'" <Andrew.Alston@liquidtelecom.com>, <coin@irtf.org>
References: <27BED081-D789-4EE2-8C1A-70069D610FF9@liquidtelecom.com>
In-Reply-To: <27BED081-D789-4EE2-8C1A-70069D610FF9@liquidtelecom.com>
Date: Sun, 21 Jul 2019 08:59:13 -0400
Organization: MNK Consulting
Message-ID: <01fc01d53fc4$191a46b0$4b4ed410$@mnkcg.com>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_000_01FD_01D53FA2.920B3EC0"
X-Mailer: Microsoft Outlook 16.0
Thread-Index: AQIjBljv1BzS9dacH9UC+gfhXLULTqY5ekGQ
Content-Language: en-us
X-OutGoing-Spam-Status: No, score=-0.2
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - web033.dnchosting.com
X-AntiAbuse: Original Domain - irtf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - mnkcg.com
X-Get-Message-Sender-Via: web033.dnchosting.com: authenticated_id: hemant@mnkcg.com
X-Authenticated-Sender: web033.dnchosting.com: hemant@mnkcg.com
X-Source:
X-Source-Args:
X-Source-Dir:
X-From-Rewrite: unmodified, already matched
Archived-At: <https://mailarchive.ietf.org/arch/msg/coin/fZRl9GrLS_RTd8eWgVm4877O4pM>
Subject: Re: [Coin] P4 runtime etc.
X-BeenThere: coin@irtf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "COIN: Computing in the Network" <coin.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/coin>, <mailto:coin-request@irtf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/coin/>
List-Post: <mailto:coin@irtf.org>
List-Help: <mailto:coin-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/coin>, <mailto:coin-request@irtf.org?subject=subscribe>
X-List-Received-Date: Sun, 21 Jul 2019 12:59:08 -0000

Andrew,

 

Are you talking about p4runtime server or client?  The client is part of the ONOS controller.  The server,  which runs on the switch, at this open repo, uses mostly C++ for implementation.  The test scripts use Python.

 

https://github.com/p4lang/PI

 

The PI code integrates with switch asic SDK. If the p4runtime implementation moves from C++ to GoLang, please look into how to call SDK API from GoLang.

 

Hemant

 

From: Coin <coin-bounces@irtf.org> On Behalf Of Andrew Alston
Sent: Sunday, July 21, 2019 8:06 AM
To: coin@irtf.org
Subject: [Coin] P4 runtime etc.

 

Hi All,

 

So after yesterday’s hackathon session and a brief bit of sleep – I decided to take a look at implementing other code we had using a p4 data plane – now that was interesting – because when I started looking at the p4runtime implementations etc. – as stated, they use grpc – but there is actually a fair bit in there in the python libraries.

 

So – What I’ve started – and am in the very very early stages of doing – is creating a Golang port of the p4 runtime libraries – this will let me handle the Protobufs and GRPC calls correctly from Golang.  As I move on this – I’ll happily opensource this code and share it as it comes – and I’ll request some of my team to get involved in this as well.  

 

If there are any golang coders out there interested in assisting with this project – I’d be happy to discuss.  I’ll also get details this morning about where we can commit code to a public repo so we can check the code in etc as we go in case anyone else has a use case for it

 

Thanks

 

Andrew