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.

[参考译文] DRA829J:使用 systemd-networkd/调试 CPSW9G 配置 CPSW9G

Guru**** 1952840 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1341162/dra829j-configuring-cpsw9g-with-systemd-networkd-debug-cpsw9g

器件型号:DRA829J

您好!

我们能够使用 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:

    很抱歉响应延迟。

    此问题是否仍被发现? 如果是、您可以在我的配置和您更新的配置之间做出差异。

    此致、
    坦迈

x 出现错误。请重试或与管理员联系。