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.

Packet flood and NDK

Hi all,

I wonder if whenever a packet (I mean data through a TCP connection) is received, the task which runs NDK is active or not For example, I run the task (NDK task) with a high pritoriy and there is a high network load, does this task block other tasks? In general, I would like to know if such a situation (packet flood) could be abused as a Denial of Service attack which freezes the whole system. If it does, any possible solution exists?

EVM 6678L - Running most of the tasks on the same core

NDK : 2.20.4.26

CCS : 5.0.3

Thanks in advance

  • Hi Deniz Kocak,

    Basically what happens is packet data comes in from the wire and is buffered up.  It is then read by the network stack.

    Although we have never tested for a DDoS attack (AFAIK), I would imagine that this would just cause the NDK's recv buffer to fill up quickly.  Once the receive buffer is full, incoming packets are simply dropped and so the stack itself would be completely bogged down.

    However, the main NDK thread is just that - a thread with a priority running within SYS/BIOS.  Higher priority threads will take precedence over the network thread and still run.

    So no, I don't think the system would become unusable, but the DDoS attack would probably succeed in causing the stack to become unresponsive.

    Steve

  • Also, I apologize for the lack of response on your post.  This thread was just brought to my attention an hour or so ago.

    Steve

  • I have a similar issue. Regarding the flooding of packets making the system unresponsive and going in to halt.

    I am using EVM DM648 with NDK2.0. I am using the helloworld application which comes with the board. The application is configured in the ALEBYPASS/PROMISCUOUS MODE. The throughput of the application is very much close to the benchmarks supplied with the boards documentations.
     
    The problems is that when i send a burst of 64byte packets the board starts dropping packets abruptly. This is natural and no problem with me. But after sometime when i increase the no. of packets in the burst the board halts and i have to restart the board to make it continue transmitting/receiving the packets. I can live with the dropping of packets but cannot with the halting and restarting of the board by re-powering it. This behaviour is also sometimes experienced with 128byte packets. The board works fine with the packet sizes above 128 bytes.
     
    Can you please help me?

     

  • This post is being answered in a different thread:

    http://e2e.ti.com/support/embedded/bios/f/355/t/180922.aspx#653396