This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
我们能够使用 TI 推荐的工具(即"iproute2")针对具体用例配置交换机。 出于几个原因,我们想把这种"地狱配置"转移到 systemd-networkd。 不知何故,systemd-networkd 的网桥配置在硬件上不起作用。
您是否对使用 systemd-networkd 与此开关有任何反馈?
您能否建议使用一种工具来调试开关配置/开关寄存器?
到目前为止、我们使用了 TI 的"开关配置"工具。 这仍然有效吗? 您能否向我们提供一些关于我们可以在寄存器转储中看到的寄存器的文档?
此致、
Matthias Hörger á lez
尊敬的 Matthias:
"switch-config"工具适用于 SDK 9.0及更高版本。
您能分享一下您尝试使用 systemd 做什么吗? 我已经尝试过很多次使用 systemd 的桥接器配置,没有遇到任何问题。
默认情况下,您必须添加额外的修补程序才能在驱动程序中具有开关模式: e2e.ti.com/.../enable_2D00_switch_2D00_mode_2D00_by_2D00_default.patch
您能尝试一下吗?
此致、
坦迈
您好、Tanmay、
借助补丁、我们能够更可靠地调试配置。 之前、我们使用 udev 更改为 SWITCH_MODE 并实现了一些奇怪的行为。
我将在知道配置中是否存在错误或者我们怀疑开关有问题时立即更新此线程。
此致、
马蒂亚斯
您好、Tanmay、
我把我们的问题分解成一个小例子。 简而言之,当配置 systemd-networkd 时,交换机端口会在入口丢弃任何 VLAN 标记的数据包。 尽管已配置为使用特定的 VID。
这里是网络配置。 VID 2的入口数据包在 swp6中被丢弃。
> ethtool -S swp6 | grep RX_PORT_MASK_DROP
P0_RX_PORT_MASK_DROP:0
RX_PORT_MASK_DROP: 13
switch.netdev
[网差]
NAME=切换
KIN=桥
[桥接]
默认 PVID=1
VLANFiltering=1
AceingTimeSec=1000
switch.network
[匹配]
NAME=切换
[网络]
VLAN= vlan2
[桥接 VLAN]
VLAN= 2
swp6.network
[匹配]
NAME=swp6
[网络]
桥=开关
[桥接 VLAN]
VLAN= 2
vlan2.netdev
[网差]
NAME=VLAN2
kind =虚拟局域网
[VLAN]
ID=2
vlan2.network
[匹配]
NAME=VLAN2
[网络]
地址=192.168.2.2/24
> bridge -d vlan show
端口 vlan-id
swp6 1 PVID 出口未标记
状态转发 mcast_router 1
2
状态转发 mcast_router 1
交换机 1 PVID 出口未标记
状态转发 mcast_router 1
2
状态转发 mcast_router 1
> IP -d A
8:swp6: MTU 1500 qdisc MQ 主交换机状态组默认 qlen 1000
链接/以太网00:60:C8:Fe:89:A7 Brd ff:ff:ff:ff:ff:ff 混杂1 allmulti1 minmtu 64 maxmtu 1522
BRIDGE_SLAVE 状态转发优先级32成本5发夹关闭防护关闭 root_block 关闭快速停止在泛洪上学习 port_id 0x8001 port_no 0x1 designed_port 32769 designed_cost 0 designed_bridge 8000.9a:9d:C7:19:70:AD designed_root 8000.9a:9d:C7:19:70 on bcast_flux on mcast_to_unicast off neigh_suppress off group_fwd_mask 0 group_fwd_mask_str 0x0 vlan_thunnel off isoled off numtxqueues 8 rxqueues 1 gSO_max_size 65536 gSO_max_segs 65535 tSO_max_size 65536 tss_size 65536 TSO_port_segs num_port65536_max_segs 以太网 parentc000000_facebook 以太网 parentid.cn
10:开关: mtu 1500 qdisc noqueue 状态 up 组默认 qlen 1000
链路/以太网9a:9d:C7:19:70:ad brd ff:ff:ff:ff:ff:ff 混杂0 allmultiple 0 minmtu 68 maxmtu 65535
BRIDGE FORWARD_DELAY 1500 hello_time 200 max_age 2000 aging_time 100000 STP_STATE 0 Priority 32768 VLAN_FILTERING 1 VLAN_PROTOCOL 802.1Q BRIDE 8000.9a:9a:19:70:AD ROOT_PORT 0 root_path_cost 0 topology_change 0 topology_change_c7:19:70:ad 0 mcast_vlan_snooping 0 mcast_router 1 mcast_query_use_ifaddr 0 mcast_querier 0 mcast_hash_elimity 16 mcast_hash_max 4096 mcast_last_member_count 2 65535 gro_max_size 65536
11:VLAN2@开关: mtu 1500 qdisc noqueue 状态 up 组默认 qlen 1000
链路/以太网9a:9d:C7:19:70:ad brd ff:ff:ff:ff:ff:ff 混杂0 allmultiple 0 minmtu 0 maxmtu 65535
VLAN 协议802.1Q ID 2 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 tso_max_size 65536 tso_max_segs 65535 gro_max_size 65536
INET 192.168.2.2/24 BRD 192.168.2.255范围全局 VLAN2
VALIDE_LFT 始终优先级_lft 始终
此处是脚本配置。 采用 VID 2的入口数据包按预期处理。
script.sh
#!/bin/bash
IP link set dev swp6 down
ip link add name 交换机类型网桥
IP 链路设置交换机类型网桥老化_TIME 1000
ip link set dev switch type bridge VLAN_STATS_ENABLED 1
ip link set dev switch type bridge vllan_stats_per_port 1
IP link set dev swp6 up
ip link set dev swp6主交换机
ip link set dev switch type bridge VLAN_filtering 1 VLAN_default_PVID 1
ip link set dev switch up
桥接 VLAN 添加设备 swp6 vid 2
网桥 VLAN 添加开发交换机 vid 2自定义
ip link add link switch name VLAN2 type vlan id 2
IP 链路设置 DEV VLAN2 UP
ip addr 添加"192.168.2.2/24" brd "192.168.1.255" dev VLAN2
> bridge -d vlan show
端口 vlan-id
swp6 1 PVID 出口未标记
状态转发 mcast_router 1
2
状态转发 mcast_router 1
交换机1 PVID 出口未标记
状态转发 mcast_router 1
2
状态转发 mcast_router 1
> IP -d A
8:swp6: MTU 1500 qdisc MQ 主交换机状态组默认 qlen 1000
链接/以太网00:60:C8:Fe:89:A7 Brd ff:ff:ff:ff:ff:ff 混杂1 allmulti1 minmtu 64 maxmtu 1522
BRIDGE_SLAVE 状态转发优先级32成本5发夹关闭防护关闭 root_FLOCK 关闭快速停止在泛洪端口上学习0x8001 port_no 0x1 designed_port 32769 designed_cost 0 designed_bridge 8000.6e:2e:47:12:a0:cc designed_root 8000.6e:2e:47:12:a0 on bcast_flux on mcast_to_unicast off neigh_suppress off group_fwd_mask 0 group_fwd_mask_str 0x0 vlan_thunnel off isoled off numtxqueues 8 rxqueues 1 gSO_max_size 65536 gSO_max_segs 65535 tSO_max_size 65536 tss_size 65536 TSO_port_segs num_port65536_max_segs 以太网 parentc000000_facebook 以太网 parentid.cn
10:开关: mtu 1500 qdisc noqueue 状态 up 组默认 qlen 1000
链接/以太网6e:2e:47:12:a0:cc brd ff:ff:ff:ff:ff:ff 混杂0 allmultiple 0 minmtu 68 maxmtu 65535
BRIDGE FORWARD_DELAY 1500 hello_time 200 max_age 2000 aging_time 1000 STP_STATE 0 priority 32768 VLAN_filtering 1 VLAN_protocol 802.1Q BRID_8000.6e:2e:47:12:a0:cc ROOT_PORT 0 root_path_cost 0 topology_change 0 mcast_vlan_snooping 0 mcast_router 1 mcast_query_use_ifaddr 0 mcast_querier 0 mcast_hash_elimity 16 mcast_hash_max 4096 mcast_last_member_count 2 65535 gro_max_size 65536
11:VLAN2@开关: mtu 1500 qdisc noqueue 状态 up 组默认 qlen 1000
链接/以太网6e:2e:47:12:a0:cc brd ff:ff:ff:ff:ff:ff 混杂0 allmultiple 0 minmtu 0 maxmtu 65535
VLAN 协议802.1Q ID 2 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 tso_max_size 65536 tso_max_segs 65535 gro_max_size 65536
INET 192.168.2.2/24 BRD 192.168.1.255范围全局 VLAN2
VALIDE_LFT 始终优先级_lft 始终
此致、
马蒂亚斯
尊敬的 Matthias:
此配置可用于设置顶部具有 VLAN 接口的网桥。 您能否看一下、看看设置是否有任何差异。
e2e.ti.com/.../working_5F00_network.zip
此致、
坦迈
您好、Tanmay、
我尝试根据您的配置更新我的配置、并将您的配置复制到我的系统。 我们仍然看到 VLAN 标签的数据包在入口被丢弃。
对于如何进一步调试此问题、您有什么建议吗?
此致、
马蒂亚斯
尊敬的 Matthias:
很抱歉响应延迟。
此问题是否仍被发现? 如果是、您可以在我的配置和您更新的配置之间做出差异。
此致、
坦迈