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.

66AK2H14: NDK raw socket not able to send data at full speed while receiving

Part Number: 66AK2H14
Other Parts Discussed in Thread: SYSBIOS

Dear TI Team,

I am using latest MCSDK and I modify UDP example to RAW socket. My task is to transmit data at 1Gbps and also receive data on same rate. the problem is when I read data on same thread then transmission rate fall by 97%. 

Can you please guide me how to send and receive data simultaneously at full bandwidth. I have option to use multiple DSP core like one for continuous transmit and one for continuous receive, if this is the case then how should I do that please guide me on it.

Please also conform that I and transmit and receive simultaneously on 1Gbps Ethernet interface  i-e 1Gbps on Tx and 1Gbps on Rx on same time.

  • Hi,

    MCSDK is actually an outdated release. Is it possible to use Processor SDK RTOS:
    www.ti.com/.../processor-sdk-k2h

    Best Regards,
    Yordan
  • Hi,

    The Ethernet is 1Gbps duplex that means in theory you can sends at 1Gbps and receive at 1Gbps simultaneously. In Linux environment, we have tested the throughput by using iperf, one side is client and the other side is server, using TCP or UDP protocol. The test traffic is mostly one direction (there is some TCP ACK packets in the reverse direction), with that we can get closer to 1Gbps throughput. This is not the bi-directional 1Gbps test.

    For the RTOS environment, the MCSDK is obsolete and please move to the latest Processor SDK as Yordan suggested, there are many changes over years. In either packages, there is gap that this is no throughput test using the NDK. As you developed a raw packet test application, is that SYSBIOS NDK based? What is the Tx or Rx throughput you got when you run in one direction? What is the test setup (TI K2H EVM? PC?). Is the other side qualified for 1Gbps in Tx and Rx duplex?

    when I read data on same thread then transmission rate fall by 97%. >>>> Is this a SYSBIOS application with two tasks? Running on ARM or C66x? . I have option to use multiple DSP core like one for continuous transmit and one for continuous receive>>>> this means two NDK instances running on two cores and accessing the same physical Ethernet port. There is no easy way to do this. The current NDK only runs on the master core (core 0) , there maybe some ways to run it only other cores, but it doesn't support two NDK on two different cores, and access the same port.

    Is running Linux on K2H an option for you, at least for study the feasibility purpose? The Linux driver has less limitation as NDK has. And you can run both iperf server and client on K2H to test if 1Gbps duplex sustainable.

    Regards, Eric