The Linux Foundation Projects
Skip to main content

The crisp autumn air and fantastic PNW views were an invitation to enjoy outside, but conference goers put their heads together to talk about the development of SONiC and share innovative ideas to solve real world problems at the 2022 SONiC Workshop & Hackathon. These discussions were enriched by the participation of 60+ in-person attendees and more than 50 virtual attendees from 64 organizations.

If you didn’t attend—or if you did and want a replay—below is a snapshot of what you missed and what you may want to rewatch.

In-depth sessions presented at SONiC Workshop

13 sessions were presented at the event with topics ranging from disaggregated API for SONiC hosts to SONiC use cases and its integration with OpenDaylight. All of the SONiC workshop session recordings are available on SONiC YouTube channel, and you can also view all of the speaker slides.

Community announced winners of the 2022 SONiC Hackathon

David Maltz, SONiC Governing Board member and Corporate Vice President at Microsoft, announced 2022 SONiC Hackathon winning teams.

The SONiC Hackathon ran from November 15 to 17 in a hybrid format, attracting 23 teams from 9 companies presenting ideas including SONiC optimization, heartbeat monitor for SONiC, distributed orchagent and more. On November 17, all 23 teams presented their innovative ideas to solve customer problems both in person and virtually in front of the live event audience and a judging panel consisted of SONiC Technical Steering Committee (TSC) members. Two winners were selected for each of the three categories: Most Wanted By Users, Most Impactful and Most Innovative awards. The winners were:

Most Wanted By Users Award:

Optimizing SONiC – Reducing SONiC Bare Metal Costs, Team 1 from Marvell

Team members:

  • Ravindranath C Kanakarajan, Principal Engineer, Software Development, Marvell
  • Antony Rheneus – Principal Engineer, Customer Solutions Group, Marvell
  • Jithender Reddy – Principal Engineer, Customer Solutions Group, Marvell
  • Maulik Patel – Sr Staff Engineer, Software Development, Marvell
  • Satheesh Kumar – Principal Engineer, Software Development, Marvell

Abstract:

Today, the requirements on the bare-metal hardware used to run SONiC is expensive. It needs large flash, large main memory and powerful CPU. In this project, we focused on reducing the SONiC image footprint size and memory. We achieved a 20% reduced footprint as well as a 5% reduction in memory utilization We achieved this without removing any functionality in SONiC. Additionally, we suggested other areas where SONiC can reduce the image footprint and main memory usage.

Micro BFD Hardware Offload, Team 19 from Cisco

Team members:

  • Thushar Gowda, Technical Leader, Cisco Systems, Inc.
  • Baorong Liu, Technical Leader, Cisco Systems, Inc.
  • Praveen Bhagwatula, Cisco Fellow, Cisco Systems, Inc.
  • Michael Hatty, Software Engineer, Cisco Systems, Inc.

Abstract:

The main idea is to use Request For Comments document (RFC) 7130 in SONiC to detect Link Aggregation (LAG) member link failures. In contrast to LACP, micro Bidirectional Forwarding Detection (BFD) provides for faster, predictable failure detection and verification of data path aliveness of each member link. Furthermore, to support high scale BFD sessions are offloaded to forwarding ASIC reducing the load on the CPU considerably.

The SONiC team’s components were changed to demonstrate the BFD session establishment, session offload and failure detection for the member links of a LAG interface. It assumes platform supports Switch Abstraction Interface (SAI) BFD APIs and Application Specific Integrated Circuit (ASIC) can handle offloaded BFD sessions. Future work would involve solidifying the design to handle timing issues between SONiC components and to handle corner cases.

Most Impactful Award:

Distributed Orchagent, Team 4 from Nvidia

Team members:

  • Sudharsan Dhamal Gopalarathnam, Software Engineering Manager, Nvidia
  • Marian Pritsak, Senior Software Architect, Nvidia
  • Vivek Reddy Karri, Software Engineer, Nvidia

Abstract:

SONiC today has a monolithic orchagent process that is built along with SONiC image which makes it difficult for a new application to be developed without modifying orchagent. A distributed orchagent would enable an extended orch running as a separate process outside orchagent. Orchagent publishes Application Database (APP_DB) to Switch Abstraction Interface (SAI) Object mappings in a STATE_DB table. Switch State Service (swss):consumer class updates the latest APP_DB key that is processed by orchagent which will then be used by SAI helper functions to record all Object IDs created under that key and publish to STATE_DB. The external orch will use these mappings and then will communicate to orchagent through ZeroMQ (ZMQ) channel which are then relayed to syncd and programmed to the SAI.

Determine Optics Type in One Shot, Team 13 from Cisco

Team members:

  • Longyin Huang, Software Engineer, Cisco
  • Jessie Wu, Software Engineer, Cisco

Abstract:

In today’s SONiC, to get the specific optics type, people have to manually go through multiple steps/fields, which also vary according to the optics categories or optics specs (CMIS, SFF, copper cable, etc). Thus, we introduce a new SONiC CLI to determine optics type in one shot. This greatly improves readability/service-ability/debug-ability and is more friendly to test automation.

Currently, this was verified on multiple different optics, and was integrated into Cisco’s optics OIR test automation. Next, we will think about upstreaming it and integrating it into more test automation or SONiC test suite.

Most Innovative Award:

Heartbeat Monitor for SONiC, Team 16 from Broadcom

Team members:

  • Kiran Kella, Software Engineer, Broadcom
  • Rajendra Dendukuri, Software Engineer, Broadcom
  • Rajesh Pukhraj Jain, Software Engineer, Broadcom
  • Sumit Agarwal, Software Engineer, Broadcom
  • Uday Kattamanchi, Software Engineer, Broadcom

Abstract:

In SONiC, various applications handle events in an asynchronous manner. This leads to a situation where there is no measure of how responsive an application is. The applications may be busy processing a large number of events or a continuous stream of events. However, they may also be stuck in a deadlock or an incorrect coding logic resulting in a busy processing loop and thus not able to attend to other tasks it is responsible for. The proposed solution implements a heartbeat monitor daemon which periodically polls (sends heartbeat messages) to registered applications to check their responsiveness. The monitoring daemon will log the details of the rogue application and maintain statistics of all the applications it is monitoring.

SONiC Cloud Router, Team 20 from Dell

Team members:

  • Senthil Kumar Ganesan,  Distinguished Engineer, Dell Technologies
  • Venkatesan Mahalingam, Technical Staff, Dell Technologies
  • Joyas Joseph, Technical Staff, Dell Technologies
  • Rathna Sabapathy, Software Senior Principal Engineer, Dell Technologies
  • Phaniraj Vattem,   Software Senior Principal Engineer, Dell Technologies

Abstract:

We’re observing a shift in focus to cloud networking. Most organizations are making substantial commitments to public cloud infrastructure to increase the pace of innovation and drive new business. Implementing basic network functionality in cloud provider networks is relatively simple. Still, adding feature depth across various CSPs is challenging since each has its connectivity solution, increasing the cost for each service and the need for unified management and observability.

This problem gets multi-folded when an organization’s infra is spread across an edge, colo campus, multi-cloud dc, etc. It creates an enormous demand for cloud networking software with automated provisioning, security, and single policy management.

Our hackathon idea is to create a simple & seamless virtual edge platform using SONiC to provide edge intelligence & fabric connectivity across cloud, on-prem, colo, and edge locations and deploy in multiple form factors.

For the results, we brought virtualized SONiC Instances + StrongSwan IP Sec across Azure, Amazon Web Services (AWS), Google Cloud Platform (GCP), and Dell on-prem location. We created a unified virtual fabric to provide connectivity across the cloud & on-prem. We also created a UI and a small controller to automate SONiC virtual fabric creation.

Next Steps:

  • Integrate the Vector Packet Processing (VPP) data plane with SONiC
  • Better integration with the cloud providers and offer sonic cloud router in their marketplace.
  • Enhance the controller to support, Automated deployment, Security policies, etc.

You can watch presentation recordings of all Hackathon teams on the 2022 SONiC Hackathon YouTube playlist. Each team’s presentation slides are included in the description section of its video.

What’s next?

Interested in helping the community to plan for future SONiC events? We welcome you to join the SONiC Outreach Committee bi-weekly meetings. Make sure you are also subscribed to the SONiC mailing lists to make sure you are up to date with the latest from the community.

Resources: