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.

Ethernet Flow Control on DM814x

Hi,

I'm trying to get Ethernet Flow Control working on the DM814x, i.e. get it to transmit a pause frame before the Rx overflows and drops packets.

I have set P1_MAX_BLOCKS to 0xe6 and SL1_MACCONTROL is set to 0x400b9 but no pause frame is generated - the Tx statistic Pause Tx Frames remains at 0.

I've also tried setting CPSW_FLOW_CONTROL to 0x7 but no improvement.

What else is required to generate the pause frame?

Thanks,

Nick.

  • Not totally. If a packet is from one MAC and destined for the other MAC and that MAC is down or backpressured then I see flow control. Note that this also happens for mulitcast and broadcast that are destined both for the DMA engine and for the other MAC.

    What I do not see is flow control generated when the DMA engine runs out of receive descriptors and packets are destined for it. It does appear that the processor can usually keep up with the Rx load so this is a rare event, but it should still be possible to backpressure the switch fabric so that the MACs then generate flow control.

  • I have the same problem, always can not generate pause frame by checking statistic reg TXPAUSEFRAME.

  • I had same issue of flow control.

    0003570: Flow control test failed for SmartBit test Description a) Description Flow control test failed for SmartBit test

    b) Procedure 1. Set Link Type to 100MF_Flow and 1GF_Flow on SmartBit. 2. Run the test program on SmartBit. 3. The test program will exit.

    c) Expected Result Flow control test should be pass for SmartBit test