RTCS packed lost

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

RTCS packed lost

853 Views
m68000
Contributor I

For data transfer i use a communiction over UDP. Inside these frames a handshake protocol are used. After start frames with 60 bytes length (payload 14 Byte) transmitted. If the real data transfer started my pc sends packages with 1060 byte length(payload 1031 Byte). Many of these packages are lost. If the target don't receive a package after 400ms, it called the tester to transmit again.

In a previous question i have asked for detailed RTCS Memory configuration. My configuration:

  _RTCSPCB_init          = 10;
  _RTCSPCB_grow          = 2;
  _RTCSPCB_max           = 80;
  _RTCS_msgpool_init     = 4;
  _RTCS_msgpool_grow     = 2;
  _RTCS_msgpool_max      = 80;
  _RTCS_socket_part_init = 4;
  _RTCS_socket_part_grow = 2;
  _RTCS_socket_part_max  = 8;
  _UDP_max_queue_size    = 10;

_RTCSTASK_priority = 6;

The reception of frames called in a separted task: (Priority 10)

 u16Len = recvfrom(eth_u32SocketHandle, &eth_u8Buffer[0], eth_RX_BUFF_SIZE, 0, &eth_SockAddrClient....)

   if (   (u16Len != RTCS_ERROR)
          && (u16Len > 0)
      )
      {
        // read message successful
        if (u16Len > 32)
        {
           mqxutils_tracing_trace_timestamp("ETH rx data %d Bytes\n",u16Len);
        }
    }

With wireshark i can see, that the pc send the packages really fast.

Labels (1)
0 Kudos
Reply
1 Reply

675 Views
danielchen
NXP TechSupport
NXP TechSupport

Hi  Stefan Lammert

From your descritption, it seems the problem is the UDP packets exceeding the MTU are lost. 

I would suggest you try the following.

1  send UDP packets exceeding MTU, then check the statistics, (I rembember there is an API to see the statistics), maybe you can get the real reason, the packet is discard? or not received?  For my experience, there is possibility that packet was lost due to fragmentation. We need to dig into rtcs stack for further analyzing. You can trace the incoming packet handling.

2  send TCP packets exceeding the MTU, if lost again, it means that the problem lies in IP layer. Otherwise we need to check UDP layer.

Regards

Daniel

---------------------------------------------------------------------------------------------------------------

Note: if this post answers your question, please click the correct button, thank you

0 Kudos
Reply