共计 1124 个字符,预计需要花费 3 分钟才能阅读完成。
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。
正文完