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.

[参考译文] PROCESSOR-SDK-AM64X:AM64x ICSSG 多播地址处理

Guru**** 2576215 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1572689/processor-sdk-am64x-am64x-icssg-multicast-address-handling

器件型号:PROCESSOR-SDK-AM64X


工具/软件:

您好 TI、  

我想更好地了解如何实现 ICSSG 处理多播数据包过滤。  

根据 AM64x 数据表、我的理解是使用 ip maddr add 从 Linux 用户空间添加多播地址、  

PRU 根据存储在 PRU FDB 上的 MAC 地址生成 CRC、是否正确?  

情况就是这样、

-这个 FTB 可以存储的多播地址的最大数量是多少?

-它是一个 32 或 64 位基于 CRC 的哈希?

第二部分、  

当接收多播地址时、它是这样的工作负载吗? :  

-首先根据目标 MAC 地址生成 CRC  

-与 PRU_ICSSG FDB 进行比较  

这是正确的吗?  

-天一  

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

    您好、天一、

    请帮助我了解您要做什么。

    您是否只是尝试从 Linux 方面了解组播地址数量是否有任何限制? 还是尝试开发或修改 PRU 以太网固件等其他功能?

    此致、

    Nick

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

    您好、Nick、  

    我尝试在 SDK 上了解 PRU_ICSSG 固件如何对多播数据包进行滤波。

    天一  

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

    您好、天一、

    我的一位同事说、您正在开发一个与 ICSSG 固件交互的定制驱动程序。 请注意、我无法支持有关自定义 Linux 驱动程序开发或修改 PRU_ICSSG 以太网固件的问题。

    我将您的线程发送给另一个团队成员、回复您有关最大多播地址数以及如何在 PRU 以太网固件中处理 CRC 计算的问题。

    我假设您问的是 通用 PRU 以太网固件、而不是其中一种网络协议(即,不是 EtherNet/IP、EtherCAT 等)。 如果您询问不同的 PRU 以太网固件、请阐明您所询问的是哪一个固件。

    此致、

    Nick

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

    您好、Nick、  

    感谢您的快速响应。

    我正在谈论这些 PRU 固件,可以找到你的存储库: https://git.ti.com/cgit/processor-firmware/ti-linux-firmware/tree/ti-pruss?h=ti-linux-firmware . 它应该是您共享的“通用 PRU 以太网固件“的链接。  

    在以下顶部:

    -多播地址的最大数量

    -如何在 PRU 以太网固件中处理 CRC 计算

    我想了解该 PRU 固件针对多播数据包的过滤机制是什么?  

    -天一  

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

    您好、天一:

    [引述 userid=“554501" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1572689/processor-sdk-am64x-am64x-icssg-multicast-address-handling/6059146

    -多播地址的最大数量

    [/报价]

    4096 个条目。  

    [引述 userid=“554501" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1572689/processor-sdk-am64x-am64x-icssg-multicast-address-handling/6059146

    -如何在 PRU 以太网固件中处理 CRC 计算

    [/报价]

    您的问题是否与  传入数据包的 CRC 计算有关?`  

    过滤机制是: 使用 DA(多播地址)作为输入来计算 FDB 地址(CRC32 用于计算)、如果在过滤器数据库中找到 MAC 地址、则返回 1 字节值。 下面是 8 位的定义。  

    /*!
     * \brief Host port membership.
     *
     * Indicates host port membership.
     */
    #define ICSSG_FDB_ENTRY_P0_MEMBERSHIP         (ENET_BIT(0U))
    
    /*!
     * \brief Physical port 1 membership.
     *
     * Indicates that MAC ID is connected to physical port 1.
     */
    #define ICSSG_FDB_ENTRY_P1_MEMBERSHIP         (ENET_BIT(1U))
    
    /*!
     * \brief Physical port 2 membership.
     *
     * Indicates that MAC ID is connected to physical port 2.
     */
    #define ICSSG_FDB_ENTRY_P2_MEMBERSHIP         (ENET_BIT(2U))
    
    /*!
     * \brief Ageable bit.
     *
     * Ageable bit is set for learned entries and cleared for static entries.
     */
    #define ICSSG_FDB_ENTRY_AGEABLE               (ENET_BIT(3U))
    
    /*!
     * \brief Block bit.
     *
     * If set for SA then packet is dropped (can be used to implement a blacklist).
     * If set for DA then packet is determined to be a special packet.
     */
    #define ICSSG_FDB_ENTRY_BLOCK                 (ENET_BIT(4U))
    
    /*!
     * \brief Secure bit.
     *
     * If set for DA then the SA from the packet is not learned.
     */
    #define ICSSG_FDB_ENTRY_SECURE                (ENET_BIT(5U))
    
    /*!
     * \brief Touched bit.
     *
     * If set, it means packet has been seen recently with source address + FID
     * matching MAC address/FID of entry.
     */
    #define ICSSG_FDB_ENTRY_TOUCHED               (ENET_BIT(6U))
    
    /*!
     * \brief Valid bit.
     *
     * Set if entry is valid.
     */
    #define ICSSG_FDB_ENTRY_VALID                 (ENET_BIT(7U))
    BR
    Jc.
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Jarachandran:  

    您的问题是否与  传入数据包的 CRC 计算有关?`  

    非常感谢您的答复。 这是非常清楚的。  

    您还能否确认、当启用 HSR 卸载到 PRU_ICSSG 时、添加到 HSR 接口的多播地址的过滤过程是相同的?  

    -天一  

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

    您好、天一:

    您是否还能确认在启用 HSR 卸载到 PRU_ICSSG 时、添加到 HSR 接口的多播地址的过滤过程是相同的?  [/报价]

    是的。

    BR、
    Jc.