AM6422: AM6422 CPSW SWITCH FREERTOS

Part Number: AM6422
Other Parts Discussed in Thread: SYSCONFIG

Hello,

    We need to utilize the switching functionality of the CPSW and would like to understand the following:

  1. What are the performance metrics for the switch, and what is the value of each?

  2. What are the corresponding testing methods for each performance metric?

  3. Does this switch support ring network functionality?Thank you very much!

  • Hi,

    Our expert is out of office. please expect a delay in response.

    Regards,

    Dilna K

  • Hi,

    Thank you for your patience over the new-year time.

    1. The CPSW instance available in AM64x is CPSW-3G. There are 2 external ports and one internal host port, each capable of 1-Gigabit switching. The performance metrics of CPSW can be found in the documentation here. Along with this, the latency possible for switching traffic is 2us with Cut-Through forwarding for all packet sizes, and for Store-and-Forward, it is 2us for 64 Bytes packet, and 13.16us for 1518 Bytes packet. 

    2. For throughput performance, we use iperf (v2.0.5) on a host PC connected directly to the target. For transmission latency, there is a test example in the 'test' which can be found along side the example folder in the $(MCU_PLUS_SDK)/source/networking/enet/core/test path. For switching latency, we use spirent test bench.

    3. AM64x can be deployed in a ring topology based on your application. If you are looking for implementing ring network functionality for redundant connections, the driver supports to bring up such functionality. But currently, we don't have an out of box example to demonstrate ring functionality, like DLR or similar features. If you have a requirement for it, please let us know so that I can check with the development team on timelines for this. 

    Please let me know if you need any further details.

    Thanks and regards,
    Teja.

  • Hello,

        Thank you for your reply,I have some relative problem to know the reason.

    1. How is Cut-Through forwarding and Store-and-Forward configured? In our usage scenario, we will also use the lwip protocol through the internal host port for application processing such as 104 protocol under the switch functionality. Which type of forwarding does this usage belong to?

    2. We are currently using SDK 8.6 and have not found the test folder you mentioned. In which version will this file be available?

    3. We intend to implement ring network functionality. Can you provide guidance on how to modify the driver ourselves to achieve this feature?

  • Hi,

    By default, the CPSW switch will be always configured into store and forward (SAF) mode. If your application needs better switching latency, then we can make it to operate in cut-through forwarding. if your application requires modifying the packets at each hop, and send it to next node, then you using either of them will result in similar performance. But if you are sending a multicast/broadcast packet for your communication, then using cut-through will result in improved cycle time.

    My apologies for the confusion. The test folder is not part of the standard SDK. But you can find the details in our github repository. You can find the test folder here.

    There is an etherring example available in am263x SDK, which demonstrates the functionality of ring network. There are no additional changes required for the driver, but the application configuration has to be updated to make the application work with ring networks. For documentation, please look for Ether-Ring applications in the AM263x Documentation.

    Thanks and regards,
    Teja.

  • Hello,

        Thank you for your reply.

        Regarding the ring network feature, since we are using SDK 8.6, the corresponding sysconfig software does not include the option shown in the image below during configuration. If we still want to implement the ring network functionality on the current SDK version, what operations can we perform in the existing code or libraries to achieve this?

         I have seen the latency parameters of the switch. Are there any available test conclusions for reference regarding other performance parameters such as the corresponding throughput?

  • Hi,

    I have to verify if the required driver functionality is already present in 8.6 SDK. More likely than not, it is already present since most of the driver functionality is dependent on classifiers, which are already supported in 8.6. But there may be other application level APIs or configs which are not enabled yet by that time. Please let me 2 days to find more details about it.

    Are there any available test conclusions for reference regarding other performance parameters such as the corresponding throughput?

    I couldn't quite understand the query. Can you please elaborate about this one?

    Thanks and regards,
    Teja.

  • Hello,

        Thank you for your assistance. We would like to gain an understanding of some performance metrics for the switch functionality implemented in CPSW. Typically, as a switch, there are several corresponding performance indicators, and conclusions should be drawn regarding what values they can achieve, such as throughput, packet loss rate, forwarding rate, and so on.

  • Hi,

    The CPSW is a hardware driven switch, and can handle upto 980 mbps of forwarding traffic between external MAC ports with zero packet loss. For any throughput under that, in normal conditions, there will not be any packet loss. As mentioned before, maximum latency is 13.2 us, and minimum latency is 2 us for 1518 byte sized packet. All of these are measured at layer 2. 

    Maximum through put to host port depends on the available bandwidth on the CPU for processing the packets. in light weight applications, it can reach close to 950-980 mbps in layer 2.

    Please let us know if you need any additional information.

    Best regards,
    Teja.