== Table of Contents ==
Chapter 1: White Box Switches and SONiC Architecture
1.1 Internal Structure of White Box Switches
1.2 Background and Role of SAI
1.3 Overview of SONiC Architecture
Chapter 2: SONiC Features and Use Cases
2.1 SONiC Features and Use Cases
2.2 Use Cases / Examples
2.3 Applications Beyond Switch ASICs
Chapter 3: Community Operations and Development Process
3.1 Organizational Structure and Members
3.2 Information Sources and Communication Channels
3.3 Release Process
3.4 Bug Reporting and Patch Proposals
Chapter 4: Commercial SONiC and Paid Support
4.1 Differences Between Community and Commercial SONiC
4.2 Process for Adding New Features
4.3 Major Commercial SONiC Vendors
4.4 Vendors Offering Paid Support
4.5 Summary: Considerations for Commercial SONiC and Support
Chapter 5: Obtaining and Installing SONiC
5.1 Preparing an Environment to Run SONiC
5.2 Obtaining the Image
5.3 Using on Physical Hardware
5.4 Using in a Virtual Environment (sonic-vs on KVM)
Chapter 6: Basic Operations and Configuration of SONiC
6.1 Basic Operations and Configuration Files
6.2 Configuration via Files
6.3 Two Types of Command-Line Interfaces
6.4 Basic SONiC Configuration
Chapter 7: SONiC Internals - Architecture and Subsystems
7.1 Overview of SONiC Architecture
7.2 Key Subsystems
7.3 Modules Running Within Each Subsystem
7.4 database Container
7.5 swss Container
7.6 syncd Container
7.7 bgp Container (routing container)
7.8 mgmt-framework and gnmi Containers
7.9 pmon Container
7.10 snmp Container
7.11 lldp Container
7.12 teamd Container
7.13 eventd Container
7.14 Front Panel Ports and Host Interfaces
Chapter 8: SONiC Internals - State Flow and Module Interaction
8.1 SONiC Databases
8.2 Module Access to Databases
8.3 Communication Between Modules and Host
8.4 Inter-Module Communication
8.5 Network Configuration of Containers
8.6 Interface Management in SONiC
8.7 Routing Functions in SONiC
8.8 SONiC Boot Process and User Interface
8.9 SONiC Management Framework
Chapter 9: In-Depth Look at SAI [API, Objects, Data Plane Pipeline]
9.1 Overview of SAI
9.2 SAI Packet Processing Pipeline
9.3 Common Function Definition Files in SAI
9.4 Function-Specific Definition Files in SAI
9.5 SAI Implementation in SONiC
Chapter 10: Advanced Configuration and Usage
10.1 SRv6 Support Status
10.2 SRv6 Configuration in SONiC
10.3 Verifying Packet Transformation Behavior
Chapter 11: SONiC Troubleshooting
Appendix 1: Building from Source Code
A.1.1 Overview of the SONiC Build System
A.1.2 Build Flow for SONiC Images
A.1.3 Example: Building in a Virtual Environment
A.1.4 Customizing Build Options (rules/config)
A.1.5 Building and Replacing Specific Modules (Containers)
Appendix 2: Open Source Projects Used in SONiC