This repository contains documentation, Wiki, master project management, and website for the Software for Open Networking in the Cloud (SONiC).
Documentation covers project wide concerns such as the getting started guide, faq, general requirements for contribution, developer's guide, governance, architecture, and so on. It also contains links to download and install SONiC and links to all the source. See SONiC Wiki for complete information.
- Overview
- Key Features
- Architecture
- Getting Started
- Installation
- Usage
- Documentation
- Contributing
- Community
- License
SONiC (Software for Open Networking in the Cloud) is a free and open-source network operating system based on Linux that runs on switches from multiple vendors and ASICs. SONiC offers a full-suite of network functionality, like BGP and RDMA, that has been production-hardened in the data centers of some of the largest cloud-service providers.
This repository contains documentation, Wiki, master project management, and website for the SONiC project.
- Multi-vendor support - Runs on switches from various hardware vendors
- Container-based architecture - Modular design with Docker containers
- Standard interfaces - Uses standard Linux interfaces and tools
- Production-ready - Battle-tested in large-scale cloud environments
- Open source - Fully open-source with active community development
- Programmable - Supports modern network programming paradigms
SONiC is built on a modular architecture where each network function runs in its own Docker container. This design provides:
- Better fault isolation
- Easier debugging and troubleshooting
- Simplified upgrades and maintenance
- Enhanced scalability
- Compatible network switch hardware
- Basic understanding of Linux networking
- Docker knowledge (recommended)
- Check hardware compatibility
- Download the appropriate SONiC image
- Install SONiC on your switch
- Configure basic network settings
- Start using SONiC features
SONiC supports a wide range of network switches. Check the supported devices list for compatibility.
- ONIE Installation - Recommended for most deployments
- Docker Installation - For development and testing
- Virtual Machine - For learning and development
For detailed installation instructions, visit the Installation Guide.
# Show system status
show system status
# Display interface information
show interfaces status
# View routing table
show ip route
# Check BGP status
show bgp summarySONiC uses JSON-based configuration files and supports both CLI and programmatic configuration methods.
Comprehensive documentation covers project-wide concerns including:
- Getting started guide
- FAQ
- Contribution requirements
- Developer's guide
- Governance
- Architecture details
- API documentation
Visit the SONiC Wiki for complete information.
We welcome contributions from the community! Here's how you can help:
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
- Follow the Developer Guide
- Set up your development environment
- Run tests before submitting changes
Please read our Code of Conduct before contributing.
- Mailing Lists: sonic-dev
- Slack: SONiC Community Slack
- Meetings: Weekly community meetings (check Wiki for schedule)
- Issues: Report bugs and request features via GitHub Issues
SONiC is licensed under the Apache License 2.0. See LICENSE for more details.
Note: This is the master repository for SONiC project coordination. For source code, please visit the individual component repositories listed in the SONiC Wiki.