RTCS crash on ARP or NetBIOS flood

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

RTCS crash on ARP or NetBIOS flood

897 Views
M_Grillo
Contributor III

Hello,

Why does my RTCS and application TASK crash sometimes if there are a burst of ARP or NBNS packs a few micro seconds apart? Is there a way to prevent the stack from crashing?

Task stats while running:

Interrupt stack:size 00001024used 00000684

SIZE              USED             TASK ID  NAME
00013000(000032C8)00002988(00000BAC)   00010001 Bridge
00003000(00000BB8)00002024(000007E8)   00010002 TCP/IP 

M52259EVB running MQX 3.4 on CW ver 7.1.2

Labels (1)
Tags (4)
0 Kudos
3 Replies

500 Views
M_Grillo
Contributor III

More info:

I caught the failure in the "_int_unexpected_isr"

Data values:

    vector               2

    offset                8

    TASK_ID          0x0010002  (this is the TCP/IP)

    td_ptr               0x40001000

    basic_frame_ptr      0x2000A598

    kernel_data -> IN_ISR     1

    basic_frame_ptr -> FRAME.RETURN_ADDRESS  0x0005640C <RTCS_part_alloc>

    basic_frame_ptr -> FRAME.STATUS_REGISTER  0x2004

If this problem cant be corrected or fixed is there a way to have this unexpected_isr reset the task rather than just doing a _task_block()?

0 Kudos

500 Views
theJoel
Contributor III

Yes. The default for an 'unexpected' isr is to block the task. You can install a new default isr with _int_install_default_isr().

Regarding ARP Floods, although possibly not your problem... we found an ARP flood with a switch loop (oops!) can cause MQX to completely consume the CPU. 100% of the processing was in the Ethernet ISRs and TCPIP_Task; our application was totally starved.

We chose to add protection in the Ethernet driver.

Hope that helps!

+Joel.

0 Kudos

500 Views
Mohsin455
Contributor IV

Hi Joel,

                 Can you please let me know how did you protect the switch loop issue in Ehternet driver?

Thanks,

Mohsin

0 Kudos