SONiC 202211 Release Notes
This document captures the new features added and enhancements done on existing features/sub-features for the SONiC 202211 release.
Table of Contents
Branch and Image Location
Branch : https://github.com/Azure/sonic-buildimage/tree/202211
Image : https://sonic-build.azurewebsites.net/ui/sonic/pipelines (Example - Image for Broadcom based platforms is here)
Dependency Version
Feature | Version |
---|---|
Linux kernel version | linux_5.10.0-18-2-$(5.10.140) |
SAI version | SAI v1.11.0 |
FRR | 8.2.2 |
LLDPD | 1.0.4-1 |
TeamD | 1.28-1 |
SNMPD | 5.9+dfsg-3+b1 |
Python | 3.9.2-1 |
syncd | 1.0.0 |
swss | 1.0.0 |
radvd | 2.17-2~bpo9+1 |
isc-dhcp | 4.4.1-2 |
sonic-telemetry | 1.1 |
redis-server/ redis-tools | 5.0.3-3~bpo9+2 |
Debian version | Continuous to use Bullseye (Debian version 11) |
Note : The kernel version is migrated to the version that is mentioned in the first row in the above 'Dependency Version' table.
Security Updates
-
Kernel upgraded from 5.10.103-1 to 5.10.140-1 for SONiC release.
Change log: https://tracker.debian.org/media/packages/l/linux/changelog-5.10.140-1 -
Docker upgraded from 20.10.17-debian-stretch. to 20.10.22-debian-stretch.
Change log: https://docs.docker.com/engine/release-notes/#201022
Feature List
Feature | Feature Description | HLD PR / PR tracking |
---|---|---|
Add syslog message rate limit configuration per container | This feature allows user to configure SystemLogRateLimitInterval and SystemLogRateLimitBurst for host, containers. There is no rate limiting configured on host side for now. | 1049, 22, 2454, 12488, 12490, 12489 &6627 |
Auto Neg Enhancement | This feature does not change the existing SONiC architecture. This feature introduces a few new CLI commands which will fit in sonic-utilities. And this feature also requires to change the configuration flow for port auto negotiation attributes which will be covered in orchagent. | 924, 1038, 2359, 614 & 2124 |
BRCM KNET sflow psample API compliance upgrade | This feature is an enhancement on BRCM KNET modules to support new psample definitions from sflow dropmon feature | 11709 & 10 |
Build Time Improvement - Version cache framework | This feature gives the Functionality and High level design of the build improvement in SONiC. This feature provides improvements in three essential areas. Multi user build - Parallel build using Native docker mode. - OverlayFS to virtualize the build root. Build time Optimization - Parallel make jobs - Passing dh '-parallel' flags to all the build targets. - Binary image build optimization - Use tmpfs and OverlayFS to speed up the build process. Build caching - Version cache - Package cache support for build componets that are downloaded from external world. - Image cache support for installer image componets. | 942, 10352, 12000, 12001 & 12005 |
Bullseye Docker Migration - FRR, PDE, BRCM Platform, ICCPD | This implements the migration from buster to bullseye. | 10864, 10836, 30, 11777 & 12097 |
Bulk counters | This feature implements the design specification for bulk counter feature on SONiC. SONiC flex counter infrastructure shall utilize bulk stats API to gain better performance. This feature discusses how to integrate these two new APIs to SONiC. | 1009 & 1094 |
General config CLI validation by YANG model | Currently, SONiC config fields updates are validated ad-hoc, and much of the validation criteria are duplicated both in python (hard-coded validation specs) and in YANG models. In this release, the Refactor code is to utilize preexisting YANG models for config validation, instead of duplicating the validation specs in both YANG and in python. | 1072, 2147, 12497, 12504, 2190, 2420, 2430, 2452, 2481, 2498, 2526, 2604 & 2755 |
gNMI interface for config | SONiC should provide a gNMI/gNOI server interface where the client can communicate with SONiC (server) through the interface using their respective gRPC libraries based on ConfigDB/ApplDB/StateDB/CountersDB schema or SONiC Yang schema. sonic-telemetry provides gNMI/gNOI server interface. And sonic-telemetry provides only telemetry via gRPC, and the gap is configuration. This feature update sonic-telemetry to support configuration. | 996, 7, 58, 59, 60, 1, 10948 & 12750 |
Incremental port configuration update | This feature fix the two issues on portsyncd and portmgrd. portsyncd and portmgrd both handle PORT table changes in CONFIG_DB and write APPL_DB according to configuration change. portmgrd handles fields including "mtu", "admin_status" and "learn_mode", portsyncd handles all fields. | 985 & 2305 |
Link Training | This feature does not change the existing SONiC architecture, while it has to change the configuration flow for port link training which will be covered in orchagent. This feature describes the design of following requirement: - Allow user to configure link training - Allow user to get the operational link training status | 915, 10025, 1038, 2359, 614, 2071 &1434 |
Make syslog log level configuration persistent | To make the loglevel persistent to reboot, we will move the Logger's tables in LOGLEVEL DB to CONFIG DB. Since the Config DB is already persistent, the log level will also be persistent to reboot. The log level will be saved using the "config save" CLI command. | 1041, 687, 2370, 12067, 11996, 12657, 271, 56, 2507, 64 & 129 |
NPU MDIO Access Support and gbsyncd Enhancement | This feature describes the high level design of the gbsyncd mdio access function with the focus on using the mdio bus from the switch NPU. This function primarily consists of two new syncd classes, one new mdio access library, addition of SAI switch api and changes in switch NPU configuration. The function helps the gbsyncd and PAI library to access the mdio devices (External PHYs). One of the new syncd class also helps to dynamically load PAI library and MDIO access library at runtime so that only a single gbsyncd docker can work for different switch platforms with external PHY. | 1045, 11303, 1507 & 1080 |
OSFP Transceiver monitoring | This feature implements the refactor SFP code to remove code duplication and to be able to use the latest features available in new APIs. | 10317 |
PDDF QSFPs Low Power Mode Support | This implements a change in modified pddf_sfp.py to include get/set APIs for lpmode in case of QSFP. As it was unable to get/set low power mode for QSFP28 and QSFP+ | 11786 |
PINS Generic SAI Extensions | This feature implements, P4RT-APP and P4Orch are two new components introduced in the SONiC control plane to support PINS. P4RT-APP interfaces to a P4RT Client, reads messages from a client and produces data in APPL_DB. P4Orch subscribes to APPL_DB tables produced by P4RT-APP, translates data received from APPL_DB to respective SAI attributes and after successful cross object dependency resolution calls appropriate SAI APIs. | 1088, 704, 17 & 2506 |
PINS Runtime Configuration | The P4RT application is a new component being introduced into SONiC as part of the PINS proposal. P4RT is an API which allows a controller to push a forwarding pipeline configuration (compiled from a P4 program) and control different elements of that pipeline over a gRPC connection. | 826 & 10499 |
RJ-45 | This implementation is an enhancement on added support to the RJ45 port in SONiC | 1030, 10377, 11336, 11460, 2112, 2111, 2110, 247, 2249, 288 & 5927 |
Security California Law | The California Law feature implements the requirements, architecture and configuration details of California Law feature in switches SONIC OS based. Feature is designed to add California SB-327 conformance. | 1077, 12678 & 6863 |
Security Secure boot | Secure Boot is a feature found in the startup software for your computer that's designed to ensure your computer starts safely and securely by preventing unauthorized software like malware from taking control of your Device at boot-up. | 1028, 12692, 298 & 2532 |
Setting RIF loopback action to drop | IP interface loopback action is a feature that allows user to change the way router handles routed packets for which egress port equals to ingress port. When loopback action is configured to drop, those packets will be dropped. Drppoed packets due to loopback action are counted in rif statistics. When loopback action is configured to forward, those packets will be forwarded as the pipeline defined. | 1006, 11012, 2192, 2307, 5956 & 5871 |
Simplified Switch System Integration Program (S3IP) sysfs | The S3IP sysfs specification defines a unified interface to access peripheral hardware on devices from different vendors, making it easier for SONiC to support different devices and platforms. | 1068, 12386, 12887, 12888, 12889, 12890, 12891, 12892, 12893, 12894, 12895 &12896 |
SONiC ECMP calculator | The purpose of ECMP calculator is to calculate which IP interface ECMP will choose and return the physical interface packet will egress from. Packet is defined by a JSON file given as an argument to the tool. An equal cost multipath (ECMP) is formed when routing table contains multiple next hop addresses for the same destination IP address. ECMP will load balance the outbound traffic between the IP interfaces. | 1163, 12482, 12840, 2538, 13051, 13493 & 13814 |
SONIC YANG - VxLAN, SNMP | This feature lists the configuration commands schema applied in the SONiC eco system. All these commands find relevance in collecting system information, analysis and even for trouble shooting. | 7294, 10828, 10550 |
SRv6 uSID support in SONiC dataplane - uN, uA | This implements an enhanced orchagent to support uSID programming instructions in this IETF draft. Current SAI API definitions already support uSID instructions. No SAI API change required in scope of this document. Current version of routing protocols in SONiC does not support SRv6, it is not in the scope of this document to add such a support for FRR routing stack. | 1034 & 2335 |
Structured message by streaming telemetry | This implements the SONiC to stream events occurring in SONiC switch (e.g BGP flap, process not running, ...) in real time via gNMI subscription model. The events are defined using versioned YANG schema. | 11618, 11639, 11848, 11973, 12059, 12270, 12290, 12554, 12563, 12659, 12687, 2446, 13, 41, 43, 44, 45, 2449, 667 & 672 |
Systemd bootchart integration | This document describes an integration of one of systemd tools called systemd-bootchart. This tool is a sampling based system profiler that is used to analyze boot up performance but not limited to and can be used to collect samples after the system is booted. The output produced by systemd-bootchart is an SVG image. | 1001 , 11047 & 2195 |
Syslog Source IP configuration | SSIP is a feature which allows user to change UDP packet source IP address. Any configured address can be used for source IP mangling. This might be useful for security reasons. SSIP also extends the existing syslog implementation with VRF device and server UDP port configuration support. The feature doesn't change the existing DB schema which makes it fully backward compatible. | 1002, 10992, 11363, 10991, 2191, 5943 & 5904 |
SAI APIs
Please find the list of API's classified along the newly added SAI features. For further details on SAI API please refer SAI_1.11.0 Release Notes
Contributors
SONiC community would like to thank all the contributors from various companies and the individuals who has contributed for the release. Special thanks to the major contributors - Alibaba, Aviz network, Broadcom, Cisco, Dell, Google, Intel, Microsoft, Nvidia, Tencent.