我使用Linux中的DSA来支持以太网交换机(KSZ9897)。这个开关正在运行,但是我在通过Linux (内核4.19)设置桥接vlan过滤特性时遇到了问题。
我创建了桥接器并添加了如下成员端口:
ip link add name br0 type bridge
ip link set dev lanB master br0
ip link set dev lanA master br0此时,Linux创建了br0接口,我可以通过这个接口切换到连接到'lanB‘接口的PC。
现在,我想使用VLAN将lanA和lanB分开。启用vlan过滤,并设置PVID:
ip link set dev br0 type bridge vlan_filtering 1
bridge vlan add dev lanB vid 2 pvid untagged master
bridge vlan add dev lanA vid 3 pvid untagged master通过设置vlan,我可以转储桥vlan状态:
bridge vlan show
port vlan ids
lanB 2 PVID Egress Untagged
lanA 3 PVID Egress Untagged
br0 1 PVID Egress Untagged我们来谈谈这个问题。现在,我需要将br0接口设置为2 PVID,这样我就可以在CPU和LANB之间切换。但我收到一个错误:
bridge vlan add dev br0 vid 2 pvid
RTNETLINK answers: Operation not supported如果我不能更改CPU端口的pvid,我就不知道如何实现这一点。我的最终目标是使用ip link add link br0 name br0.2 type vlan id 2添加一个vlan接口,以便与lanB通信。但是,如果不将br0交换机端口配置为VLAN-2的一部分,这将失败。
我是走错路了还是漏掉了什么?
发布于 2019-12-11 23:26:54
我发现修改桥vlans的命令需要稍微不同的语法。“‘self”必须附加到设备上:
bridge vlan add dev br0 self vid 2 pvid然后该命令按预期的方式工作。
https://unix.stackexchange.com/questions/556649
复制相似问题