Subject: [Coin] P4 runtime etc.

From: Andrew Alston <[email-masked]>
Date: Sun, 21 Jul 2019 12:05:33 +0000

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

---

From: <[email-masked]>
Date: Sun, 21 Jul 2019 08:12:32 -0400

Andrew,

I have cced to Charles Eckel who can help.  Charles setup two repos for my open-source code for the hackathon at https://github.com/IETF-Hackathon

I do program GoLang, but am buried today and during ensuing weeks with work.  However, once I see the open-source code, I can see what I can contribute during my spare time.

Thanks,

Hemant

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

Hi All,

Thanks

Andrew

---

From: <[email-masked]>
Date: Sun, 21 Jul 2019 08:59:13 -0400

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

Hi All,

Thanks

Andrew

---

From: Andrew Alston <[email-masked]>
Date: Sun, 21 Jul 2019 13:14:49 +0000

Hi Hemant,

I was looking explicitly at the client base.  That uses GRPC at the moment – with protocol buffers from what I can see.

Now – the code to populate those grpc protocol buffers and the rest of is is what I’m aiming at getting  a port of – effectively if you look at the tutorials – they import p4 config and they import a p4runtime library – its that library that I’m working on porting over into something transparent and easy

Andrew

From: "[email-masked]" <[email-masked]>
Organisation: MNK Consulting
Reply to: "[email-masked]" <[email-masked]>
Date: Sunday, 21 July 2019 at 08:59
To: Andrew Alston <[email-masked]>, "[email-masked]" <[email-masked]>
Subject: RE: [Coin] P4 runtime etc.

Andrew,

https://github.com/p4lang/PI<https://github.com/p4lang/PI>

Hemant

Hi All,

Thanks

Andrew

---

From: <[email-masked]>
Date: Sun, 21 Jul 2019 09:26:43 -0400

Yes, since the p44runtime server uses gRPC, the client will also use gRPC.  Changing client to Golang sounds good.

Good luck,

Hemant

From: Coin <[email-masked]> On Behalf Of Andrew Alston
Sent: Sunday, July 21, 2019 9:15 AM
To: [email-masked]; [email-masked]
Subject: Re: [Coin] P4 runtime etc.

Hi Hemant,

Andrew

From: "[email-masked] <mailto:[email-masked]> " <[email-masked] <mailto:[email-masked]> >
Organisation: MNK Consulting
Reply to: "[email-masked] <mailto:[email-masked]> " <[email-masked] <mailto:[email-masked]> >
Date: Sunday, 21 July 2019 at 08:59
To: Andrew Alston <[email-masked] <mailto:[email-masked]> >, "[email-masked] <mailto:[email-masked]> " <[email-masked] <mailto:[email-masked]> >
Subject: RE: [Coin] P4 runtime etc.

Andrew,

Hemant

From: Coin <[email-masked] <mailto:[email-masked]> > On Behalf Of Andrew Alston
Sent: Sunday, July 21, 2019 8:06 AM
To: [email-masked] <mailto:[email-masked]> 
Subject: [Coin] P4 runtime etc.

Hi All,

Thanks

Andrew

---

From: "Charles Eckel (eckelcu)" <[email-masked]>
Date: Sun, 21 Jul 2019 13:30:29 +0000

Hi Andrew,

I’d be happy to help get you setup with a repo in the IETF-Hackathon GitHub org. We can do this whenever convenient. You can generally find me near the front of the room on the left hand side, close to where the screen and podium are.

Cheers,
Charles

From: "[email-masked]" <[email-masked]>
Organization: MNK Consulting
Reply-To: "[email-masked]" <[email-masked]>
Date: Sunday, July 21, 2019 at 8:13 AM
To: 'Andrew Alston' <[email-masked]>, "[email-masked]" <[email-masked]>
Cc: Charles Eckel <[email-masked]>
Subject: RE: [Coin] P4 runtime etc.

Andrew,

Thanks,

Hemant

Hi All,

Thanks

Andrew