1

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。


ouyangxibao
189 声望161 粉丝

不生产代码,只是代码的搬运工