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.

[参考译文] Linux/AM5728:以太网混杂模式配置

Guru**** 2553260 points
Other Parts Discussed in Thread: AM5728

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/620105/linux-am5728-ethernet-promiscuous-mode-configuration

器件型号:AM5728

工具/软件:Linux

您好!

我正在使用 AM5728开发产品、其中一个以太网端口直接连接到另一个具有静态 IP 和 MAC 地址的定制硬件。 由于此以太网链路从未见过外部世界(或任何其他器件)、因此如果自定义硬件可以向 AM5728发送任意的固定目标 MAC 和 IP 地址、而不必担心任何 ARP 过程、则会使事情变得简单得多。  

通过以太网端口连接到 AM5728的自定义硬件中存在一个限制、即无法使用多播 MAC 地址发送数据(中间硬件带宽限制多播数据)。

我已经通过将 MAC 设置为混杂模式来解决了其他硬件的这个问题、但是我已经查看了 TRM、并且没有发现关于将 AM5728 GMAC 设置为混杂模式的太多信息、希望能在这方面提供任何帮助。

谢谢、

乍得

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    软件团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、想知道是否有人能够研究这个问题? 我在 TRM 中发现有关我的情况的信息的成功程度有限。

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

    您使用的是哪种操作系统? Linux?

    还可以发布您尝试发送多播数据的步骤?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在接收以太网数据包的 AM5728上使用 Linux。

    系统设置如下:
    FPGA 实现了 MAC ->中间第三方硬件-> AM5728

    FPGA 将其数据包流发送到固定的 MAC 和 IP 地址(未实施 ARP 过程、希望避免此过程)、目标接收器为 AM5728。 此设置中通常可以使用多播地址、但在中间第三方硬件中存在一个限制、即 IT 带宽将多播数据限制在远低于我们所需的数量、因此不能将多播寻址用于主数据流。

    我以前成功地将 MAC 配置为混杂模式、以允许接收所有数据包、而不管 MAC 目标是什么。 这对于此设置非常理想、因为它仅限于使用固定硬件的本地网络。

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

    此命令是否起作用? 我在这里假设了 eth0。 您在 AM5728上使用的是哪个端口?

     ifconfig eth0混杂

    如果您尝试此命令、是否发生了使您认为端口不处于混杂模式的情况?

    如果命令不起作用、请附加"ethtool eth0"的输出或您正在使用的端口。

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

    我正在使用 eth0。

    我尝试了"ifconfig eth0混杂"、但没有成功。

    我们有一个 gstreamer 管道设置、在该设置中、如果我们将 FPGA 配置为发送到 AM5728的硬编码 MAC 地址、它将显示流、但是如果我们将目标地址更改为其他单播地址、则流将不再起作用。 gstreamer 流水线恰好位于等待数据的位置、指示 MAC 正在丢弃数据包。

    "ethtool eth0"输出:

    eth0的设置:
    支持的端口:[ TP MII ]
    支持的链路模式:10BaseT /半10baseT/全
    100BaseT /半个100BaseT /全双工
    1000BaseT/Half 1000BaseT/完全
    支持的暂停帧使用:对称
    支持自动协商:是
    通告的链接模式:10BaseT/Half 10baseT/全
    100BaseT /半个100BaseT /全双工
    1000BaseT /半1000BaseT /全
    广播暂停帧使用:对称
    广播自动协商:是
    链路合作伙伴通告的链路模式:10BaseT /半10baseT/全
    100BaseT /半个100BaseT /全
    链路伙伴通告的暂停帧使用:对称仅接收
    链路伙伴通告的自动协商:
    速度:100Mb/s
    双工:全
    端口:MII
    PHYAD:1
    收发器:外部
    自动协商:开启
    支持唤醒:D
    唤醒:D
    当前消息电平:0x00000000 (0)
    
    检测到链接:是
    

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

    我已经进一步询问了、尽管我可以从用户空间发出"ifconfig eth0混杂"命令、但 AM5728 EMAC 可能不支持混杂模式。

    我仍然无法在 TRM 或其他地方找到有关这方面的任何信息。 TI 的某个人能否评论一下是否有能力使用此功能?

    谢谢、
    乍得