完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
使用的OK1028-linux-fs源码,Linux version 5.4.3-svn42 (root@ubuntu) (gcc version 7.5.0 (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04)) #1 SMP PREEMPT Wed Jun 16 16:17:37 +08 2021
我想使用brctl建立2个网桥,然后把2个端口以access口分别加入这2个网桥,当加入第二个的时候报错,所有的端口只能以access口加入到一个网桥里面,能请教下吗?命令如下 vconfig add swp0 100 ifconfig swp0 up brctl addbr br100 brctl addif br100 swp0 ifconfig br100 up vconfig add swp1 200 ifconfig swp1 up brctl addbr br200 brctl addif br200 swp1 ifconfig br200 up 出错信息如下: root@forlinx:~# ifconfig swp1 up root@forlinx:~# brctl addbr br200 root@forlinx:~# brctl addif br200 swp1 --ifindex:5,dev:[ 56.114381] mscc_felix 0000:00:00.5 swp1: 1========br_add_if: swp1 ++ifindex:5,ENODEV:19,ifr.ifr_name:br200 [ 56.125580] mscc_felix 0000:00:00.5 swp1: 2========br_add_if: [ 56.133000] mscc_felix 0000:00:00.5 swp1: 3========br_add_if: [ 56.139786] mscc_felix 0000:00:00.5 swp1: 4========br_add_if: [ 56.146351] mscc_felix 0000:00:00.5 swp1: 5========br_add_if: [ 56.152944] mscc_felix 0000:00:00.5 swp1: 6========br_add_if: [ 56.159491] mscc_felix 0000:00:00.5 swp1: 7========br_add_if: [ 56.165983] mscc_felix 0000:00:00.5 swp1: 8========br_add_if: [ 56.172437] 21====__netdev_upper_dev_link:1 [ 56.177990] 22====__netdev_upper_dev_link:0 [ 56.182434] 23====__netdev_upper_dev_link:0 [ 56.186828] 24====__netdev_upper_dev_link:-19 [ 56.191457] 27====__netdev_upper_dev_link:-19 [ 56.195858] mscc_felix 0000:00:00.5 swp1: 9========err:-19 [ 56.201467] mscc_felix 0000:00:00.5 swp1: 14========br_add_if: --========br_soc[ 56.207858] mscc_felix 0000:00:00.5 swp1: 1========br_add_if: ket_fd:3,err:-1,[ 56.215490] mscc_felix 0000:00:00.5 swp1: 2========br_add_if: dev:swp1,errno:1[ 56.222696] mscc_felix 0000:00:00.5 swp1: 3========br_add_if: 9 [ 56.229943] mscc_felix 0000:00:00.5 swp1: 4========br_add_if: [ 56.236201] mscc_felix 0000:00:00.5 swp1: 5========br_add_if: [ 56.242492] mscc_felix 0000:00:00.5 swp1: 6========br_add_if: [ 56.248723] mscc_felix 0000:00:00.5 swp1: 7========br_add_if: [ 56.254935] mscc_felix 0000:00:00.5 swp1: 8========br_add_if: [ 56.261152] 21====__netdev_upper_dev_link:1 [ 56.265439] 22====__netdev_upper_dev_link:0 [ 56.269755] 23====__netdev_upper_dev_link:0 [ 56.274117] 24====__netdev_upper_dev_link:-19 [ 56.278595] 27====__netdev_upper_dev_link:-19 [ 56.283074] mscc_felix 0000:00:00.5 swp1: 9========err:-19 [ 56.289185] mscc_felix 0000:00:00.5 swp1: 14========br_add_if: --++++br_socket_fd:3,err:-1,dev:swp1,errno:19 bridge br200 does not exist,ifname index:5,ifname:swp1,err is:19,brname index:12 通过追踪发现OK1028-linux-kernelnetbridge下面的br_if.c里面的函数br_add_if里面的 err = netdev_master_upper_dev_link(dev, br->dev, NULL, NULL, extack);这句调用出错,这个函数在netcoredev.c里面的 调用 ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,&changeupper_info.info); 这个函数返回-19 能问下这是什么问题导致的吗 ?怎么修改 ?谢谢 |
|
相关推荐
3个回答
|
|
我烧写的是我们的出厂镜像测试的,您是自己编译的镜像吗?
您的具体需求是什么啊?您能描述一下您的应用场景吗? 我在板子上测试了一下,swp0-swp3这四个switch网口只能添加一个到网桥中,具体原因现在还不清楚,这个switch 可能和其他独立的网口有区别; 但可以将eno0t添加到网桥br200中,不知这样能不能满足您的需求如下所示: root@forlinx:~# vconfig add swp0 100 Added VLAN with VID == 100 to IF -:swp0:- root@forlinx:~# ifconfig swp0 up root@forlinx:~# brctl addbr br100 root@forlinx:~# brctl addif br100 swp0 root@forlinx:~# ifconfig br100 up root@forlinx:~# vconfig add eno0 200 Added VLAN with VID == 200 to IF -:eno0:- root@forlinx:~# ifconfig eno0 up root@forlinx:~# brctl addbr br200 root@forlinx:~# brctl addif br200 eno0 root@forlinx:~# ifconfig br200 up root@forlinx:~# brctl show bridge name bridge id STP enabled inte**ces br100 8000.ae6af6a00920 no swp0 br200 8000.3221262b515c no eno0 docker0 8000.0242a53af8f9 no |
|
|
|
您好,就是想把swp0-swp3这四个switch网口添加到不同的网桥当中,因为交换机假如有5个口,第1个口可以以access模式加到vlan100,2口可以以access模式加到vlan200,3口可以以access模式加到vlan300 这是很常见的需求吧
我试了在ubuntu系统里面把不同的网卡加到不同的网桥是可以的,不知道为啥板子里面swp0-swp3只能加到一个网桥 至于您说的swp0-swp3这四个switch网口只能添加一个到网桥中,具体原因现在还不清楚,我已经跟到OK1028-linux-kernel里面的代码了,原因如下: 通过追踪发现OK1028-linux-kernelnetbridge下面的br_if.c里面的函数br_add_if里面的 err = netdev_master_upper_dev_link(dev, br->dev, NULL, NULL, extack);这句调用出错, netdev_master_upper_dev_link这个函数在netcoredev.c里面的 调用 ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,&changeupper_info.info); 这个函数返回-19 最终可能想实现这样的 :root@forlinx:~# brctl show bridge name bridge id STP enabled inte**ces br100 8000.1636ad6de5ed no swp0 br200 8000.1636ad6de5ed no swp1 swp2 swp3.200 docker0 8000.0242dc4cb099 no br100里面swp0:access br200里面swp1:access swp2:access swp3:trunk 1.因为call_netdevice_notifiers_info这个函数出错导致的直接跳到异常处理代码 所以报错,能请你们开发看看原因吗? 怎么解决这个BUG 2.我们的需求就是swp0-swp3和eno0当作交换机的5个网口,每个口可以以access模式任意加到不同的vlan, 或者能请教下 怎么把网口以access或者trunk模式配置到vlan里面,能具体给出命令吗? 比如swp0:access 加到vlan100, swp1:access swp2:trunk 加到vlan200, 能给出这2个需求的命令吗? 3.另外再请教个某个端口配置trunk native vlan的命令是什么? |
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
基于米尔瑞芯微RK3576核心板/开发板的人脸疲劳检测应用方案
458 浏览 0 评论
716 浏览 1 评论
620 浏览 1 评论
1850 浏览 1 评论
3099 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 19:04 , Processed in 0.730841 second(s), Total 74, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号