Exploring SONiC’s true potential
Adding a feature SONiC does not support natively, such as GTP-U load balancing based on the TEID field, starts with understanding the SONiC and SAI architecture.
This report follows CodiLime engineers adding that feature step by step, from choosing UDF-based ACLs to changes in Orchagent and deployment on an NVIDIA Spectrum switch, with the vendor SAI limitations they hit and their workarounds.
The main topics covered in this e-book:
- GTP-U load balancing by TEID using UDF-based ACLs on SONiC
- Why ECMP hashing was set aside and PINS/P4 Runtime was not used
- Orchagent, SyncD and saimetadata changes, verified through ASIC_DB
- Lab test on a Mellanox/NVIDIA Spectrum SN2010 with Scapy traffic
- Vendor SAI 1.10 limitations found in practice and the workarounds applied

Why download this e-book?
How much work does a custom SONiC feature take?
CodiLime's engineers built a proof of concept of a natively unsupported function: distributing GTP-U traffic among endpoints by the TEID field. The ebook follows that journey from the plan to a working control plane.
Which technique fits load balancing by TEID?
The ebook explains why UDF-based ACLs suit setting the next hop from the TEID value, why ECMP hashing was set aside, and what PINS with P4 Runtime would have taken.
What has to change inside SONiC?
It walks through the SONiC and SAI architecture and the changes made to Orchagent and SyncD, including a fix in the saimetadata library, verified through the ASIC_DB database.
How do you set up a productive development environment?
The ebook shares the setup that made SONiC's complex build work with a modern IDE: a locally hosted Docker container reached through JetBrains Gateway, with VS Code Remote Development as an alternative.
Related content
- ArticleSecurityAn AI firewall where the CPU never touches a packet
Benjamin Wharton7 min read
- ArticleAI & MLHow inline ML on an FPGA SmartNIC detects SYN floods at line rate
Benjamin Wharton6 min read
- ArticleHardwareWhy MQTT acceleration needs more than standard NIC offloads (and how SmartNICs do it differently)
Benjamin Wharton12 min read
- ArticleHardwareAn Introduction to SONiC-DASH
Yuriy Harhas13 min read
Ready to modernize?
Tell us where your data center is today, and we’ll take it from there — all the way to AI-ready.
