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.

[参考译文] AM6422:如何限制驱动程序中的 eth 端口

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1482060/am6422-how-to-limit-the-eth-port-in-driver

器件型号:AM6422

工具/软件:

eth0和 eth1是 cpsw 交换机模式下的网络端口、我想在以下配置网络端口:  

(1) 两个网络端口之间没有速度限制

(2)但进入 MPU 的两个网络端口的速率限制为10Mbps?

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

    您好、Zitong、  

    您能否首先 通过回答以下问题来帮助我了解您的问题?

    1.您是在 TI AM64x EVM 上进行评估、还是在采用 AM6422的定制设计电路板上进行评估?

    2.您使用的是哪种操作系统? 它是哪个 SDK 版本?

    3.您的测试拓扑是什么? 换言之、您连接到 eth0和/或 eth1的是什么、您正在运行什么测试?

    4、您能解释一下两个端口之间的"速度限制"是什么意思吗?

    -道林

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

    谢谢 Daolin、 很抱歉没有清楚地描述我的问题。

    1 μ A 我、采用 AM6422的定制设计电路板

    2、我正在使用 Linux Debian OS、、它 基于 senux 平台构建、而不是直接与 TI SDK 构建

    3、我将 eth0和 eth1连接到我的 PC、例如、eth0和 eth1桥接 IP 为192.168.1.xxx、我的 PC eth 端口有两个 IP 192.168.2.10和192.168.2.11、我可以在我的 PC 上运行 iperf 服务器和 iperf 客户端、以在   交换机内测试 Linux eth 数据传输速率

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

    尊敬的 Zitong:  

    感谢您分享这些详细信息。

    3、我将 eth0和 eth1连接到我的 PC、例如、eth0和 eth1桥接 IP 为192.168.1.xxx、我的 PC eth 端口有两个 IP 192.168.2.10和192.168.2.11、我可以  在 PC 上同时运行 iperf 服务器和 iperf 客户端以在 交换机内测试 Linux 数据传输速率

    您在定制电路板和主机 PC 上的 IP 地址配置使用什么网络掩码?

    您的 PC 是否只有一个具有两个 IP 地址的 eth 端口? 还是它有两个 eth 端口、每个端口都有一个 IP 地址?

    您能否分享您的自定义电路板到 PC 连接图并标记每个端口的 IP 地址?

    -道林

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

    我的 PC 和 Linux 主板上的网络掩码均为255.255.255.0

    我的 PC 有两个 eth 端口、分别连接到我的 Linux 端口

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

    您好、Zitong、

    [引述 userid="642962" url="~/support/processors-group/processors/f/processors-forum/1482060/am6422-how-to-limit-the-eth-port-in-driver/5695985 #5695985"]

    我的 PC 和 Linux 主板上的网络掩码均为255.255.255.0

    我的 PC 有两个 eth 端口、分别连接到我的 Linux 端口

    [/报价]

    感谢您对此进行澄清。 但是、如果您还分享了您的联系图片、将会有所帮助。 现在、您似乎有如下所示的内容?

    端口1 PC (192.168.2.10)<--> eth0 BR0 (DUT 192.168.1.xxx) eth1 <->端口2 PC (192.168.2.11)

    -道林

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

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

    尊敬的 Zitong:  

    您的交换机 IP 地址与 PC 上的两个 eth 接口位于不同的子网。 为了确保所有接口(PC eth 接口和 DUT 上的 br0)之间的网络通信、您应尝试使用同一子网上的网桥进行测试(例如更改为192.168.2.101)。

    此外、如何在 DUT 上设置开关? 具体来说、您使用哪些命令将 CPSW 配置为交换机?

    -道林

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

    我的交换机 IP 地址 肯定与 PC IP 位于不同的子网、它们无法通信。 但是、我只想测试交换机内部的传输速率。 因此、我在 PC 上运行 iperf 服务器和 iperf 客户端、Linux eth 只能传输数据包。 都可以正常工作。

    我使用 devlink 命令将 CPSW 配置为开关

    DevLink 开发参数集 platform/8000000.ethernet name switch_mode value true cmode 运行时

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

    尊敬的 Zitong:

    我使用 devlink 命令将 CPSW 配置为交换机

    devlink 命令用于确保将 CPSW 配置为硬件交换机。 您还应确保运行以下操作以完全设置交换机。

    devlink dev param set platform/c000000.ethernet name switch_mode value true cmode runtime
    ip link add name br0 type bridge
    ip link set dev br0 type bridge ageing_time 1000
    ip link set dev eth0 up
    ip link set dev eth1 up
    ip link set dev eth0 master br0
    ip link set dev eth1 master br0
    ip link set dev br0 up
    ip link set dev br0 type bridge vlan_filtering 1
    bridge vlan add dev br0 vid 1 self
    bridge vlan add dev br0 vid 1 pvid untagged self

    仅出于测试目的、如果您的交换机 IP 地址位于同一子网上、您是否会看到类似的速率限制问题?

    -道林

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

    我完全运行上面的所有命令。 如果我的交换机 IP 地址在同一子网上,它也可以工作.

    我认为我们讨论的 IP 问题不是很重要。 我只想将速率限制设置为以下值

    (1)两个网络交换机端口内部没有速度限制

    (2)但进入 MPU 的两个网络端口的速率限制为10Mbps?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引述 userid="642962" url="~/support/processors-group/processors/f/processors-forum/1482060/am6422-how-to-limit-the-eth-port-in-driver/5711259 #5711259"]

    我只想将速率限制设置为以下值

    (1)两个网络交换机端口内部没有速度限制

    (2)但进入 MPU 的两个网络端口的速率限制为10Mbps?

    [/报价]

    为了澄清一下、您说的问题是在使用 iperf3进行测试时、吞吐量限制为10Mbps、还是您想将速率配置为10Mbps?

    我目前不在办公室、暂时不会重现您的测试设置。

    -道林

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

    速率

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

    您好、Zitong、

    "我不会告你的,因为我不会告你的。" 如果您没有收到回复、请在4月初对该线程执行 ping 操作。

    此致、

    Nick

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

    您好、

    我已经查看了这个主题、有一些问题。 但如果可能、首先让所有设备保持在同一子网上。

    - 10Mbps 是所需的速度还是那是你测量的?

    -请附上 ethtool eth0和 ethtool eth1的结果,我想看看端口连接到什么数据速率。

    此致、

    Schuyler

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

    尊敬的 Schuyler:

    (1) 10Mbps、是传输到 MCU 所需的速度。

    (2) ethtool 结果如下

    好的、让我们将所有器件保留在子网上、我将通过以下连接进行验证、首先我将在 PC 上运行 iperf 客户端和 iperf 服务器以验证 eth 交换机模式的功能、iperf 将运行100Mbps、我希望100Mbps 将没有限制。 其次、我将在 Linux 上运行 iperf 服务器、在 PC 上运行 iperf 客户端、我要验证 MCU 的速率限制、例如、我将运行该命令

    `iperf.exe -c 192.168.1.101 -i 1 -b 100M -t 600000` 在我的 PC 上、我想看到 iperf 输出速率限制为10Mbps、即使 命令为 100Mbps 也是如此。

    谢谢

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

    您好、

    与开发人员讨论后、我们建议查看此链接文档:

    https://software-dl.ti.com/processor-sdk-linux/esd/AM64X/09_00_00_03/exports/docs/linux/Foundational_Components Network/Kernel/Network/CPS.html Kernel_Drivers

    为了限制速率,有一个功能使用基于信用的整形器已为 CBS 启用,以限制流量从发送者移动到接收者 的速率:此外,我们认为桥接器设置中没有任何类型的内部速率限制,它的工作方式类似于它对任何硬件交换机的工作方式,即基于 MAC 地址转发流量。

    此致、

    Schuyler

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

    您好、

    我已经阅读了您提供的链接。 但我认为这可能不是我们想要的。 该链接提供了一些 按端口限制速率的示例、例如5001和5002、  通过相应 端口进行的数据传输将限制为设置速率。

    然而、我们希望通过 eth 或 eth1到 CPU 进行的所有数据包传输都将限制10Mbps

    我不确定我对该链接的理解是否正确。

    谢谢

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

    您好、

    我应该提前提出这个问题、您是否已经了解了如何更改 DTS 以将 CPSW 端口限制为10Mbps?  示例是将此属性添加到 CPSW 节点

    最大速度=<10>

    这会将接口限制为10Mbps。

    此致、

    Schuyler

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

    我今天尝试这种方法,似乎没有发生任何变化。 交换机端口和从端口到 CPU 的速率仍然是100Mbps。

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

    您好、

    抱歉,我告诉你错误的节点把属性,你能尝试把属性放在 phy 节点? 另请从 cpsw 节点中删除。 再次道歉,没有指明正确的地方放置的财产。

    此致、

    Schuyler

    下面是一个工作原理示例:

    &phy1 {
    	max-speed = <100>;
    };

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

    您好、

    我今天尝试将属性放在 phy 节点中、更改如下

    但是、设置此属性后、  交换机端口和从端口到 CPU 的速率之间的速率都将更改为10Mbps、我想该属性是设置端口的入口速率。 但是、我期望交换机端口之间的速率为100Mbps。

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

    您好、

    该属性仅将 MAC 设置为 RX 和 TX 10Mbps 的最大速度。 嵌入在 CPU 内部、因此传输不受限制。 CPSW 在两个方向上的额定速度均为1Gbps。 我可能不会跟你想做什么。 您能否解释一下在交换机级别如何需要100Mbps?

    此致、

    Schuyler

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

    我们希望我们的器件在仅用作开关时没有速率限制、但在我们的应用程序填充中、我们有一个请求、将速率限制为10Mbps、实际上是 CPU 的速率限制。

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

    您好、

    我可能理解您所说的内容、但请允许我 补充这一额外解释。 max Rate 属性用于将链路伙伴之间的 MAC/PHY 接口设置为该比特率。 因此、所有进出 MAC 的数据包均限制为此比特率。 这不会限制内部处理比特率。  

    此致、

    Schuyler

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们希望我们的设备在仅用作交换机时没有速率限制、但在我们的应用程序文件中、我们请求速率限制为10Mbps、实际上是 CPU 的速率限制。

    嗨、Zitong

       您希望限制哪个方向的交通速度?

       对于 CPU 输出、可以使用此命令、此命令可将流量限制为90Mbps

        tc qdisc 更换设备 eth1 根 tbf 限制120MB 速率90MB 突发5MB

       您可以根据速度配置调整该参数

    此致

      Semon

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

    您好、Zitong、  

    我们希望我们的设备在仅用作交换机时没有速率限制、但在我们的应用程序文件中、我们请求速率限制为10Mbps、实际上是 CPU 的速率限制。

    如果入口和出口端口(交换机的 eth0和 eth1)都限制为10Mbps、则这将限制总体流量速率、即使交换机的流量为100Mbps、入口和出口端口的流量仍限制为10Mbps。 如果您仅限制交换机中两个端口的一个端口的10Mbps、则情况将有所不同。 您的要求是同时将两个端口限制为10Mbps、还是只要求其中一个端口?

    此外、我不完全了解您对交换机中的速率限制的要求。 由于您已配置了硬件交换机、因此流量将从一个端口传输到另一个端口、因为硬件可以将流量从一个端口传输到另一个端口。 您是否能够在原始测试中验证开关是否以100Mbps 的速率传输、而无需在设备树中针对10Mbps 限制进行修改?

    -道林

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

    嗨、Semon

    我们需要限制 CPU 的路径输入和 CPU 的路径输出

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

    尊敬的 Daolin:

    我们需要同时将两个端口限制为10Mbps。

    是的、我已经验证了无需任何修改即可实现100Mbps 的开关传输速率。 如您所见、对于示例、进入一个端口的数据包可能有两种方式、一种方式是到达另一个交换机端口、另一种方式进入 CPU、我们只想以10Mbps 的速率将数据包限制到 CPU 中。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们要限制 CPU 的路径输入和 CPU 的路径输出

    嗨、Zitong

       您可以尝试我提供的命令、它可以限制来自 CPU 的输出流量

       让我们一起找到正确的命令来限制 CPU 的输入流量

    此致

      Semon

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

    嗨、Schuyler

    这实际上并不限制内部速率、但由于进入 MAC 的所有数据包都限制为10Mbps、因此交换机端口之间的速率肯定无法以 100Mbps 的速率实现

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

    尊敬的 Semon:

    我已经尝试了`tc qdisc replace dev eth0 root tbf limit 20mb rate 10mbit burst 5MB`命令,它实际上将出口速率限制为10Mbps。

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

    你好、团队

    这是客户在现场与他们会面后的需求。

    客户将使用 CPSW 来实现以太网的环形拓扑。  

    1、环中的设备要与环中的其它设备通信,速率为100m。

    2、设备要与 CPU 通信,该 CPU 将通过内部端口0 ,该速率限制为10M ,以避免一些以太网风暴或其他影响。

    此致

    Zekun

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

    您好 Zekun、

    感谢您的澄清和具体要求、分享了方框图。  

    我尝试了命令`tc qdisc replace dev eth0 root tbf 限制20MB 速率10Mbit 突发5MB`、它实际上将出站速率限制为10Mbps。

    我假设 Semon 的建议解决了从 CPU 到外部端口速率限制的传输问题? 使用 tc qdisc 命令对入口流量进行速率限制似乎不是很简单、因为 Linux 似乎不支持入口流量整形。 我不是使用 tc qdisc 的专家、但一些资源表明、通过将入口流量重定向到虚拟以太网接口、然后调整该虚拟接口的出口、可能会限制入口流量: https://linux-man.org/2021/09/24/how-to-limit-ingress-bandwith-with-tc fmand-in-linux/ 

    另一种选择是使用中断节奏来间接限制入口流量的速率: https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/latest/exports/docs/linux/Foundational_Components /内核/Network/CPSW3g.html#interrupt-pacing Kernel_Drivers。 然而、这似乎不能让您完全控制入口流量的实际速率。

    我需要在内部讨论我们可以采取哪些其他方法来限制入口流量。 如果我在星期五之前没有回复更新、请 Ping 此主题。

    -道林

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

    我假设 Semon 的建议解决了从 CPU 到外部端口速率限制的传输问题? 使用 tc qdisc 命令对入口流量进行速率限制似乎不是很简单、因为 Linux 似乎不支持入口流量整形。 我不是使用 tc qdisc 的专家、但一些资源表明、通过将入口流量重定向到虚拟以太网接口、然后调整该虚拟接口的出口、可能会限制入口流量: https://linux-man.org/2021/09/24/how-to-limit-ingress-bandwith-with-tc fmand-in-linux/ 

    另一种选择是使用中断节奏来间接限制入口流量的速率: https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/latest/exports/docs/linux/Foundational_Components /内核/Network/CPSW3g.html#interrupt-pacing Kernel_Drivers。 然而、这似乎不能让您完全控制入口流量的实际速率。

    我需要在内部讨论我们可以采取哪些其他方法来限制入口流量。 如果我在星期五之前没有回复更新、请 Ping 此主题。

    -道林

    [/报价]

    您好、Daolin

      有关如何限制 ingresss 流量的任何更新?

    此致

      Semon

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

    尊敬的 Semon:

    为了将100Mbps 传入流量限制为10Mbps 到主机 CPSW 端口、预计会丢失/丢弃大量数据包(90Mbps 丢弃)以满足10Mbps 速率。 这是否是您对该用例的意图? 如果是、是否对丢弃哪种类型的数据包以及应将哪些数据包传递到主机 CPSW 端口有要求?  

    入口路径的速率限制看起来非常重要、因此我们需要更多时间来进行研究。  

    -道林

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

    为了将100Mbps 传入流量限制为10Mbps 到主机 CPSW 端口、预计会丢失/丢弃大量数据包(90Mbps 丢弃)以满足10Mbps 速率。 这是否是您对该用例的意图? 如果是、是否对丢弃哪种类型的数据包以及应将哪些数据包传递到主机 CPSW 端口有要求?  

    入口路径的速率限制看起来非常重要、因此我们需要更多时间来进行研究。  

    [/报价]

    您好、Daolin

       速率限制用于保护 CPU 免受广播风暴的影响,因此任何类型的流量都可以被丢弃,唯一的要求是将 CPU 的流量限制为10Mbps

    此致

      Semon  

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

    尊敬的 Semon:  

    [引述 userid="35205" url="~/support/processors-group/processors/f/processors-forum/1482060/am6422-how-to-limit-the-eth-port-in-driver/5722533 #5722533"]

    https://software-dl.ti.com/processor-sdk-linux/esd/AM64X/09_00_00_03/exports/docs/linux/Foundational_Components Network/Kernel/Network/CPS.html Kernel_Drivers

    为了限制速率,有一个功能使用基于信用的整形器已为 CBS 启用,以限制流量从发送者移动到接收者 的速率:此外,我们认为桥接器设置中没有任何类型的内部速率限制,它的工作方式类似于它对任何硬件交换机的工作方式,即基于 MAC 地址转发流量。

    我已经阅读了您提供的链接。 但我认为这可能不是我们想要的。 该链接提供了一些 按端口限制速率的示例、例如5001和5002、  通过相应 端口进行的数据传输将限制为设置速率。

    然而、我们希望通过 eth 或 eth1到 CPU 进行的所有数据包传输都将限制10Mbps

    [/报价]

    我想回到 Schuyler 之前提出的基于信用的整形器建议。  https://software-dl.ti.com/processor-sdk-linux/esd/AM64X/latest/exports/docs/linux/Foundational_Components CBS/Kernel/CBS/Network/cPSW-CBS.html#CBS-IN-SWITCH Kernel_Drivers 模式

    首先、文档指出、为了限制入口时的速率、发送器设备需要在其连接到交换机设备入口的自己出口端口上配置速率限制。 对我来说、这表示线路上的速率也会受到限制、本质上执行的操作与您和 Zitong 所指示的使用"ethtool -s ethX speed 10 duplex full"时相同、这不是您的用例所需的操作。

    另一个部分: https://software-dl.ti.com/processor-sdk-linux/esd/AM64X/latest/exports/docs/linux/的 Kernel_Drivers 入口速率(Foundational_Components)/Kernel/Network/cPSW-cBS.html#rate-limiting-host-port-negroent-on-am625-sk)可能是要尝试查看入口速率是否实际受到限制的地方。 但是、这涉及使用特定端口、需要通过该端口发送流量、以便应用速率限制。 根据我的理解、这是必要的、因为要使用 CBS、需要使用固定优先级模式、该模式要求将流量指定到特定的优先级、该优先级由流量通过的端口确定。

    我们需要进一步研究的另一个选项与 eBPF 相关、但根据我的理解、我们的 CPSW 驱动程序可能目前不支持此 eBPF。

    -道林

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

    尊敬的 Daolin:

      我想知道它是否有一个方法可以通过修改内核来实现速率限制?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
     我想知道它是否有一个方法可以通过修改内核来达到速率限制?  [/报价]

    您好、Zitong

      我尝试了以下两条命令来限制入口流量、EVM 中会出错。

      ------------------------------------------------

    方法1:

    tc qdisc 添加 DEV eth0入口

    tc 过滤器添加 DEV eth0父过滤器 FFFFff:协议 IP u32匹配 IP src 0.0.0.0/0 flowwid:1管制速率30.0mbit MTU 10000突发20k 滴

    方法2:

    tc qdisc add dev eth0句柄 FFff:入口        

    tc 过滤器添加 dev eth0父项 FFff:u32匹配 u32 0警察速率14mbit 突发20k

    ----------------------------------------

    请在您的系统中尝试查看结果

    此致

      Semon

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

    尊敬的 Semon:

      非常感谢您提供的方法。

      我想知道如何更改方法1中的参数以修改速率限制、我查找有关 tc 命令的一些信息、我认为最关键的参数是`rate 30.0mbit`、我认为30.0mbit 是平均速率、但 iperf 结果显示速率低于我预期。 如果我要将速率限制更改为40Mbps、应该更改什么参数?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Unknown 说:
    ]我想知道如何在方法1中更改参数以修改速率限制、我查找有关 tc 命令的一些信息、我认为最关键的参数是`rate 30.0mbit`、我认为30.0mbit 是平均速率、但 iperf 结果显示速率低于我预期。 如果我要将速率限制更改为40Mbps、我应该更改什么参数?

    I test 在 EVM 中、上述设置下大约为10Mbps、您可以调整这3个参数、它不是很精确、需要进行测试

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

    您好、Zitong、

    听起来 Semon 的建议使您能够限制入口速率。 您是否有任何其他疑问?

    -道林