首页 > 其他 > 详细

openwrt 一个接口多IP, 多协议配置 (alias)

时间:2019-06-28 11:24:25      阅读:508      评论:0      收藏:0      [点我收藏+]
config interface lan
        option type bridge
        option ifname eth0.1
        option proto static
        option ipaddr 192.168.1.1
        option netmask 255.255.255.0
        option ip6assign 60

# 接口 lan 的别名
config alias
        option interface lan
        #option proto dhcp
        option proto static
        option ipaddr 192.168.11.1
        option netmask 255.255.255.0
        option ip6assign 60

 

接口处理过程在 neifd -> config.c-> config_init_interfaces() -> __interface_add()

处理了 interface 和  alias 的section,

如果是alias 就将 setction 中的 option interface ‘lan‘ 作为当前接口的 parent_ifname

处理alias: 

 1 static bool __interface_add(struct interface *iface, struct blob_attr *config, bool alias)
 2 {
 3     struct blob_attr *tb[IFACE_ATTR_MAX];
 4     struct blob_attr *cur;
 5 
 6     blobmsg_parse(iface_attrs, IFACE_ATTR_MAX, tb,
 7               blob_data(config), blob_len(config));
 8 
 9     if (alias) {
10         if ((cur = tb[IFACE_ATTR_INTERFACE]))
11             iface->parent_ifname = blobmsg_data(cur);
12 
13         if (!iface->parent_ifname)
14             return false;
15     } else {
16         if ((cur = tb[IFACE_ATTR_IFNAME]))
17             iface->ifname = blobmsg_data(cur);
18     }
19 
20     iface->config = config;
21     vlist_add(&interfaces, &iface->node, iface->name);
22     return true;
23 }

 

openwrt 一个接口多IP, 多协议配置 (alias)

原文:https://www.cnblogs.com/listenerln/p/11101597.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!