[stratum-dev] PINS: STRATUM vs SONiC(SAI)

5 views
Skip to first unread message

A Sydney

unread,
Feb 4, 2021, 11:22:00 AM2/4/21
to strat...@lists.stratumproject.org
Hi Stratum folks,
                          Can you kindly provide feedback on the following:

1. From Brian's Techinar last Wednesday (Jan 27th), there was a nice comparison between STRATUM and SONiC's dataplane (Ref (near minute 35): https://youtu.be/_XtOUHU55EE). Now SONiC has a software switch that runs over OVS (REF: https://github.com/Azure/SONiC/wiki/SONiC-P4-Software-Switch).  Given that OVS is a production virtual switch, will one of the results of the PINS initiative be a production virtual switch?

2. Is there any documentation on the PINS effort (I didn't come across any under the ONF's infra projects)?

3. With P4 in "Traditional SDN" (i.e. dataplane communication with external controller), a user programs the dataplane and leverages P4Runtime from an external controller to control the forwarding behavior in the switch. It's a bit unclear how this translates to the SONiC paradigm given that SONiC does support P4. In particular, assuming a user compiled a *.p4 dataplane, how do you create applications to control the forwarding behavior of this dataplane? Is there a controller (e.g. Trellis+ONOS) running inside the switch on top of SONIC? 

Thanks,
-Syd 

Brian O'Connor

unread,
Feb 4, 2021, 6:37:07 PM2/4/21
to A Sydney, strat...@lists.stratumproject.org
Hi Syd,

Some answers inline below.

Thanks!
Brian

On Thu, Feb 4, 2021 at 11:22 AM A Sydney via stratum-dev <strat...@lists.stratumproject.org> wrote:
Hi Stratum folks,
                          Can you kindly provide feedback on the following:

1. From Brian's Techinar last Wednesday (Jan 27th), there was a nice comparison between STRATUM and SONiC's dataplane (Ref (near minute 35): https://youtu.be/_XtOUHU55EE). Now SONiC has a software switch that runs over OVS (REF: https://github.com/Azure/SONiC/wiki/SONiC-P4-Software-Switch).  Given that OVS is a production virtual switch, will one of the results of the PINS initiative be a production virtual switch?

I have a different understanding of sonic-p4; it is built on BMv2 as far as I know which is not production grade. OVS is used to bridge these SONiC switches together out of band for testing, and OVS can probably be replaced with Linux veth pairs. This target is also quite out of date. As far as I am aware, there is no real P4 support at head in SONiC today (there might be with flexsai on some hardware targets, but I haven't used them), and SONiC doesn't support a production virtual switch target. But I also could be missing something, so please provide pointers if you find something.

2. Is there any documentation on the PINS effort (I didn't come across any under the ONF's infra projects)?

Bringing Stratum capabilities to SONiC as well as running Stratum as an app on SONiC are two things we are privately exploring at ONF. We might have more to say about them in the future, but I don't really have anything else to share at this point.

3. With P4 in "Traditional SDN" (i.e. dataplane communication with external controller), a user programs the dataplane and leverages P4Runtime from an external controller to control the forwarding behavior in the switch. It's a bit unclear how this translates to the SONiC paradigm given that SONiC does support P4. In particular, assuming a user compiled a *.p4 dataplane, how do you create applications to control the forwarding behavior of this dataplane? Is there a controller (e.g. Trellis+ONOS) running inside the switch on top of SONIC? 

 There's a lot to unpack here, and I'm not sure I can do this question justice here. These are definitely some ideas worth exploring.

Thanks,
-Syd 
_______________________________________________
stratum-dev mailing list
strat...@lists.stratumproject.org
https://lists.stratumproject.org/listinfo/stratum-dev
Reply all
Reply to author
Forward
0 new messages