sonic管理口信息处理流程
管理接口信息配置文件格式
管理信息使用MGMT_INTERFACE 表进行配置。对象的key由管理接口名字和IP前缀使用“|”连接而成。属性 gwaddr用于执行默认路由指向管理口,其值为默认网关。属性forced_mgmt_routes 用来强制添加一些路由到default路由表中。
"MGMT_INTERFACE": {
"eth0|10.3.100.3/23": {
"forced_mgmt_routes": [
"10.0.10.0/29",
"10.0.20.5"
],
"gwaddr": "10.3.100.1"
}
},
管理信息处理流程
可以使用config reload 命令重新加载配置文件config_db.json。这样所有配置信息将会被写入config_db(4)。然后会重新启动接口管理服务:
Running command: service interfaces-config restart。
通过查看文件interfaces-config.service:
admin@switch2:~$ vim /etc/systemd/system/interfaces-config.service
[Unit]
Description=Update interfaces configuration
Requires=database.service
After=database.service
[Service]
Type=oneshot
ExecStart=/usr/bin/interfaces-config.sh
[Install]
WantedBy=multi-user.target
可以看出该服务的执行程序是脚本:/usr/bin/interfaces-config.sh
查看脚本/usr/bin/interfaces-config.sh:
#!/bin/bash
sonic-cfggen -d -t /usr/share/sonic/templates/interfaces.j2 > /etc/network/interfaces
[ -f /var/run/dhclient.eth0.pid ] && kill `cat /var/run/dhclient.eth0.pid` && rm -f /var/run/dhclient.eth0.pid
systemctl restart networking
ifdown lo && ifup lo
从上面可以看出通过sonic-cfggen命令生成/etc/network/interfaces配置文件,然后重新启动networking即可让管理配置生效。
systemctl restart networking命令会重启网卡,让网卡down掉再up。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。