|
|
||
|---|---|---|
| .github | ||
| assets | ||
| doc | ||
| images | ||
| pdf/newsletters | ||
| tsc | ||
| .gitignore | ||
| .markdownlint.json | ||
| Calendar.html | ||
| CODE_OF_CONDUCT.md | ||
| contact.html | ||
| CONTRIBUTING.md | ||
| Enterprise SONiC Distribution trademark license - final.pdf | ||
| generate_sonic_image_links.sh | ||
| Github Project Adoption Guideline.md | ||
| Github Project User Guide for SONiC Project.md | ||
| governance.md | ||
| index.html | ||
| menu.html | ||
| MoM.html | ||
| newsletters.html | ||
| OCP_Virtual_Summit_2020_SONiC_Demos.html | ||
| params.json | ||
| powered by SONiC branding guidelines - final.pdf | ||
| previous_presentations.html | ||
| README.md | ||
| SECURITY.md | ||
| Sonic cobranding_200213.pdf | ||
| SONiC Foundation Technical Charter.pdf | ||
| SONiC Trademark License - final.pdf | ||
| sonic_docs_toc.md | ||
| sonic_image_links.json | ||
| sonic_latest_images.html | ||
| sonic_release_manager_work_scope.md | ||
| SONiC_Workshop_Agenda_2022.html | ||
| sourcecode.md | ||
| Supported-Devices-and-Platforms.html | ||
| supported_devices_platforms_md.sh | ||
| supported_devices_platforms_md.sh - Shortcut.lnk | ||
| trademark.html | ||
| workgroups.html | ||
Software for Open Networking in the Cloud (SONiC)
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.
Table of Contents
- Overview
- Key Features
- Architecture
- Getting Started
- Installation
- Usage
- Documentation
- Contributing
- Community
- License
Overview
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.
Key Features
- 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
Architecture
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
Getting Started
Prerequisites
- Compatible network switch hardware
- Basic understanding of Linux networking
- Docker knowledge (recommended)
Quick Start
- Check hardware compatibility
- Download the appropriate SONiC image
- Install SONiC on your switch
- Configure basic network settings
- Start using SONiC features
Installation
Supported Platforms
SONiC supports a wide range of network switches. Check the supported devices list for compatibility.
Installation Methods
- 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.
Usage
Basic Commands
# Show system status
show system status
# Display interface information
show interfaces status
# View routing table
show ip route
# Check BGP status
show bgp summary
Configuration
SONiC uses JSON-based configuration files and supports both CLI and programmatic configuration methods.
Documentation
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.
Additional Resources
Contributing
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
Development Setup
- Follow the Developer Guide
- Set up your development environment
- Run tests before submitting changes
Code of Conduct
Please read our Code of Conduct before contributing.
Community
- 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
License
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.