SONiC-DASH Workgroup Meeting Minutes 4/6/2022

140 views
Skip to first unread message

Kristina Moore

unread,
Apr 11, 2022, 6:00:53 PM4/11/22
to sonic-dash-t...@googlegroups.com, sonic...@googlegroups.com, Sudarshan, Reshma, Marian Pritsak, Chris Sommers, Michal Zygmunt, Fingerhut, John Andy, James Grantham, Mircea Dan Gheorghe, Sandeep Balani, Ariff Premji, White, Joseph L, Madhavan, Sandeep, Rita Hui, Singhai, Anjali, Matty Kadosh, Sanders, Mark, Oleksandr Kholodnyi

Hello DASH Community – thanks for your time on Wednesday.  

I am coordinating (last week and this), to upload our SONiC DASH Community Meeting recordings to match the larger SONiC team recordings location.  Once finished, they will be linked from https://www.opencompute.org/wiki/Networking/SONiC to YouTube.  This is in process now to upload the remainder of the meetings.   

 

 

We will be establishing a High Availability Working Group, and will follow up with the Behavioral Model call(s) scheduling as well (see below).

 

The notes from last Wednesday are below, along with the recording link.  See you on 4/13/2022 

Meeting Title:  SONiC-DASH-Workgroup Community Meeting #18

April 6, 2022

Attendees (34):

 

Agrawal, Ashutosh - Intel

Guohan Lu - MSFT

Mahalinga, Venkatesan - Dell

Mohammad Hanif - Broadcom

Sanders, Mark - Dell

Alberto Villarreal - Keysight

Jai Kumar

Marangwanda, Shingi - Intel

Niranjan - Broadcom

Sudarshan, Reshma - Intel

Baldi  Mario - Pensando

James Grantham - MSFT

Marian Pritsak - Nvidia

Oleksandr Ivantsiv - Nvidia

Venkat Pullela - Keysight

Bud Grise - XSightLabs

james_lo 駱正雄 - Accton

Matty Kadosh - Nvidia

Pourya Shahmaleki - MSFT

Vinod Kumar - Keysight

Ezra Yosef - XSightLabs

John C Carney - XSightLabs

McCollum, Macy - Intel

Prince Sunny - MSFT

Vivek Reddy Karri - Nvidia

Fingerhut, John Andy - Intel

Kristina Moore - MSFT

Michal Zygmunt - MSFT

Rama

Volodymyr Mytnyk - PLVision

Gerald Degrace - MSFT

Lisa Nguyen - Broadcom

Mircea Dan Gheorghe - Keysight

Sandeep Balani - Broadcom

 

 

Discussion
 

SmartSwitch RFI has been issued

We have our ideas, we would like to have your input prior to RFQ

 

Metering document

ETA in 2 weeks or so

 

DASH APIs NB Facing

We have a draft schema .json file - Kristina and @michael miele to publish soon

Prince is converting to tables and SONiC YANG (language used to interact) beginning tomorrow 4/7/2022

Hanif - reference implementation from the POV of the Control Plane; it mimics Bluebird/DASH/SDN agent to SAI

 

Routing Document

Michal described scenarios witing the draft Routing Document

Our customer has full control of the route table

Inside the VNET, traffic uses a 2nd level lookup using the mapping table

Community participants please read through and comment

SMARTNic needs the functionality of SDN to route the traffic

SmartSwitch is a form factor, but the functionality s/be the same

 

.JSON (kind of how Azure 'works') - we can publish, however it is a living document and will likely change

VPC=VNET (terminology), unification of the names Prince will ensure naming aligns

We've updated to 5 ACL stages in the SDN Transforms document on GitHub (a few weeks ago, just a reminder)

SNAT policy and Metering are out of scope for now

VPC-Mappings

IPv6 must be supported in Underlay and Overlay (needed for big customers where Azure is an extension of their On-Prem, their VMs do not have to have Internet connectivity.  Virtual network uses IPv6 and they want to use their own addressing).  For example if they come in over Express Route. 

There is a maximum 16 'routing-actions' (see .json file where have 8 or so identified)

Prior to this project, SDN hasn't been working with hardware, it's been VFP (which is very flexible)

 

New Status Fields in BM Project

Request for a 'Scoping' Status field in the behavioral model GitHub project - done

 

Behavioral Model, Simulator Update: 

Added a few items to model per Hanif

Community would like to have a Weekly behavioral model meeting; Kristina to schedule
 

Sample view below w/volunteers needed for 'Backlog Needs Owner' items:

 

 

 

 

 

Upcoming Action Items for

Apr 6th, 2022

Status/Date

Notes

1

Smaller High Availability Working Group to be led by Nvidia
* Kristina to create HA Working Group
* Schedule HA weekly call

To be scheduled

Kristina & NVidia to schedule

2

Draft schema .json file upload to GitHub Repo

Apr 12th

Kristina and Michael to publish

3

Behavioral Model volunteers needed

Many items have volunteers, just a few left

 

See Behavioral Model Figure above

Skills needed: ability to dig into the P4 compiler, software switch, and software simulation tool 

Andy hosts P4 tool sessions - please see email in SONiC-DASH email group

4

Michal Zygmunt to present NB interface

TBD

 

5

Nvidia behavioral model update (to publish their code added to bmv2 for the DASH model)

Goal Modify at-will P4 defined Behavioral Model (i.e. change the code), and auto-gen APIs.  The 'implementation' does not have to be P4.

 

Everything s/be part of the P4 model, and to be emulated
https://github.com/marian-pritsak/DASH-1/tree/toolchain/sirius-pipeline

Jan 26th

Feb 9th

Mar 2nd
Mar 30th

NVidia has finished the reference implementation of SAI APIs into P4 runtime, it's been working this week.  Need to generalize into a template.  The last step will be to become auto-generated.  Need ~ 3 weeks to do so. 

This iteration includes match-action, routing and ACLs. 

6

Intel - SAI Thrift (API) PTF and extension to SmartNic (to work with any SAI device)

Resource procured, design work aligned, coding started.  May have demo by Spring.

 

 

Discussed in 3/30/2022 Community Meeting; as the project moves forward, we can review changes in the Community Meeting first, and next move into the Tuesday SONiC meeting for review in that forum. 

Underlay features (critical), and incrementally add cases to move to SmartNic.

  

The test cases have many dependencies and are geared toward testing a switch (a SmartNic - has different requirements vs. a switch, ex: port expectations are different), and some code changes will be required.

7

Community please Review PRs and comment

 

PRs filed for review/comment

https://github.com/Azure/DASH/pulls

 

 

8

Issues list for tracking & resolution

 

 

 

 

Sticky for Links/Data:

 

 

Link to Recording 

​mp4 icon SONiC-DASH Workgroup Community Meeting-20220406_091803-Meeting Recording.mp4

4/06/2022 Community Call; please request access via the link if you are not able to view/listen

Azure DASH GitHub Repo:                     

https://github.com/Azure/DASH

 


Test/Docs folder:

https://github.com/Azure/DASH/blob/main/test/docs/dash-test-workflow-saithrift.md

Ideal test workflow is here, converted to .md

SAI Thrift     

SAI Thrift PR

Client server needed for testing

P4

https://opennetworking.org/p4/ and https://p4.org/working-groups/

Open source, domain-specific programming language for network devices, specifying packet processing for data plane devices (switches, routers, NICs, filters, etc.)

PINS

https://opennetworking.org/pins/

 

PNA consortium spec

https://p4.org/p4-spec/docs/PNA-v0.5.0.html

An architecture describing the structure and common capabilities of network interface controller (NIC) devices which process packets transiting one or more interfaces and a host system.

Describes the structure and capabilities of the pipeline, and a user program, which specifies the functionality of the programmable blocks within that pipeline. For more information, see the P4 Language Consortium specifications

IPDK

Infrastructure Programmer Development Kit (ipdk.io) and

https://github.com/ipdk-io/ipdk-io.github.io

IPDK is an open source, vendor agnostic framework of drivers and APIs for infrastructure offload and management which runs on a CPU, IPU, DPU or switch. IPDK runs in Linux and uses a set of well-established tools such as DPDK and P4 to enable network virtualization.

bmv2

https://github.com/p4lang/behavioral-model

The second version of the reference P4 software switch, nicknamed bmv2 (for behavioral model version 2). The software switch is written in C++11. It takes as input a JSON file generated from your P4 program by a P4 compiler and interprets it to implement the packet-processing behavior specified by that P4 program

DPDK

https://www.dpdk.org/

DPDK is the Data Plane Development Kit which consists of libraries to accelerate packet processing workloads running on a wide variety of CPU architectures.

 

 

Thank you again for your participation…

Kristina Moore

Principal PM, Azure Core – DASH

Phone 425-722-7720  Cell 425-876-2040

Email kri...@microsoft.com

One Microsoft Way  Redmond, WA 98052

 

Title: LinkedIn - Description: image of LinkedIn iconTitle: Twitter - Description: image of Twitter icon 

 

 

Reply all
Reply to author
Forward
0 new messages