-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Configuration
SONiC is managing configuration in a single source of truth - a redisDB instance that we refer as ConfigDB. Applications subscribe to ConfigDB and generate their running configuration correspondingly.
(Before Sep 2017, we were using an xml file named Minigraph to configure SONiC devices. For historical documentation, please refer to Configuration with Minigraph)
In current version of SONiC, ConfigDB is implemented as database 4 of local redis. When system boots, configurations will be loaded from /etc/sonic/config_db.json
file into redis. Please note that ConfigDB content won't be written back into /etc/sonic/config_db.json
file automatically. In order to do that, a config save
command need to be manually executed from CLI. Similarly, config load
will trigger a force load of json file into DB.
We keep a way to load configuration from minigraph and write into ConfigDB for backward compatibility. To do that, run config load_minigraph
.
The design of ConfigDB supports incremental configuration - application could subscribe to changes in ConfigDB and response correspondingly. However, this feature is not implemented by all applications yet. By Sep 2017 now, the only application that supports incremental configuration is BGP (docker-fpm-quagga). For other applications, a manual restart is required after configuration changes in ConfigDB.
A sample config_db.json file is available at here.
-
For Users
-
For Developers
-
Subgroups/Working Groups
-
Presentations
-
Join Us